import * as i0 from "@angular/core";
export interface FormStackItem {
    token: string;
    name: string;
    url?: string;
    subject?: string | null;
    state?: string | null;
    fields?: Record<string, any>;
    extra?: Record<string, any>;
    originToken?: string | null;
}
export declare class LibFormManagerService {
    pageStack: FormStackItem[];
    constructor();
    getFormDefinition(formCode: string): any;
    execServerAction(actionDetail: any): any;
    goToForm(formCode: string, token: string, subject: string | null): void;
    loadStack(): Promise<void>;
    saveStack(): void;
    cleanStack(): void;
    resetPageStack(): void;
    findFormInStack(token: string): {
        index: number;
        data: FormStackItem | null;
    };
    replaceItem(token: string, formInfo: Partial<FormStackItem>): void;
    stack(origin: Partial<FormStackItem>, target: Partial<FormStackItem>): string;
    unstack(token?: string | null): FormStackItem | null;
    getFormInfo(token: string): FormStackItem;
    openForm(origin: Partial<FormStackItem> | null, target: Partial<FormStackItem>): void;
    backTo(targetToken?: string | null): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LibFormManagerService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<LibFormManagerService>;
}
