/// <reference types="react" />
import { ITypeOfFormForRoute } from "../../AmisaAuth/Menus/1-MenuFactory";
import { IMainStateFactory } from "../../Types";
import { SubPageItem } from "./SubPageItem";
export declare class SubPagesFactory {
    mainStateFactory: IMainStateFactory;
    title: string;
    activeSubPage?: SubPageItem;
    forceUpdate: () => void;
    subPages: SubPageItem[];
    subPagesOrder: SubPageItem[];
    constructor(mainStateFactory: IMainStateFactory);
    gotoHomePage: () => void;
    addNewSubPageComponetSelf: (pageKey: string, args: object | undefined, customPayload: object | undefined, finedInRows: boolean, ExtraStackMenuComponent: React.ComponentType<{
        mainState: any;
    }> | undefined, typeOfForm: ITypeOfFormForRoute | undefined) => void;
    /**
 *
 * @param pageKey
 * @param args add itemsPerPage to object of argument to pass to page parameter of next page :)
 */
    addNewSubPageComponet: {
        (pageKey: string): void;
        (pageKey: string, id: number): void;
        (pageKey: string, id: number, customPayload: any): void;
        (pageKey: string, id: number, customPayload: any, finedInRows: boolean): void;
        (pageKey: string, code: string): void;
        (pageKey: string, code: string, customPayload: any): void;
        (pageKey: string, code: string, customPayload: any, finedInRows: boolean): void;
        (pageKey: string, object: any): void;
        (pageKey: string, object: any, customPayload: any): void;
        (pageKey: string, object: any, customPayload: any, finedInRows: boolean): void;
        (pageKey: string, object: any, customPayload: any, finedInRows: boolean, ExtraStackMenuComponent?: React.ComponentType<{
            mainState: any;
        }>, typeOfForm?: ITypeOfFormForRoute | undefined): void;
    };
    /**
     *
     * @param pageKey
     * @param argument add itemsPerPage to object of argument to pass to page parameter of next page :)
     */
    addNewSubPage: {
        (pageKey: string): void;
        (pageKey: string, id: number): void;
        (pageKey: string, id: number, finedInRows: boolean): void;
        (pageKey: string, code: string): void;
        (pageKey: string, code: string, finedInRows: boolean): void;
        (pageKey: string, object: any): void;
        (pageKey: string, object: any, finedInRows: boolean): void;
    };
    selectThisSubPageItem: (subPageItem: SubPageItem) => void;
    closeThisSubPageItem: (subPageItem: SubPageItem) => void;
}
