import { ComponentSchema, EpNodeInstance } from '../../types/src/index';
export interface ActionsModel {
    args: string;
    componentId?: string;
    methodName: string;
    type: 'component' | 'custom' | 'public';
}
export type ComponentInstances = Record<string, Record<string, EpNodeInstance>>;
export declare const DEFAULT_SCOPE = "default";
export declare function createPageManager(): {
    addComponentInstance: (id: string, instance: EpNodeInstance, scopeName?: string) => void;
    componentInstances: import('vue').Ref<ComponentInstances, ComponentInstances>;
    defaultComponentIds: import('vue').Ref<string[], string[]>;
    doActions: (actions: ActionsModel[], scopeName?: string, ...args: unknown[]) => void;
    find: (queryValue: string, queryField?: string, scopeName?: string) => EpNodeInstance["exposed"] | null;
    findAll: (queryValue: string, queryField?: string, scopeName?: string) => EpNodeInstance["exposed"][];
    findInstance: (queryValue: string, queryField?: string, scopeName?: string) => EpNodeInstance | null;
    findInstanceAll: (queryValue: string, queryField?: string, scopeName?: string) => EpNodeInstance[];
    forms: Record<string, unknown>;
    funcs: import('vue').Ref<Record<string, Function>, Record<string, Function>>;
    getComponentInstance: (queryValue: string, queryField?: string, scopeName?: string) => EpNodeInstance["exposed"] | null;
    hook: {
        clear: (hookName?: keyof import('../../hooks/src/index').Hooks) => void;
        execute: (hookName: keyof import('../../hooks/src/index').Hooks, context: any) => Promise<void>;
        getCount: (hookName: keyof import('../../hooks/src/index').Hooks) => number;
        register: (hookName: keyof import('../../hooks/src/index').Hooks, callback: import('../../hooks/src/index').HookCallback) => (() => void);
    };
    isDesignMode: import('vue').Ref<boolean, boolean>;
    mountMonitor: {
        isAllMounted: import('vue').ComputedRef<boolean>;
        pendingIds: import('vue').Ref<string[], string[]>;
        pop: (id: string) => void;
        push: (id: string) => void;
        reset: () => void;
    };
    pageSchema: {
        canvas?: {
            height?: string | undefined;
            mode?: "desktop" | "mobile" | "pad" | "pc" | "tablet" | undefined;
            width?: string | undefined;
        } | undefined;
        schemas: {
            [x: string]: any;
            children?: /*elided*/ any[] | undefined;
            description?: string | undefined;
            editData?: object | undefined;
            field?: string | undefined;
            id?: string | undefined;
            input?: boolean | undefined;
            label?: string | undefined;
            noFormItem?: boolean | undefined;
            on?: {
                [eventName: string]: ActionsModel[];
            } | undefined;
            props?: any;
            rules?: {
                [x: string]: any;
                trigger?: string | string[] | undefined;
                enum?: Array<boolean | null | number | string | undefined> | undefined;
                isValidator?: boolean | undefined;
                len?: number | undefined;
                max?: number | undefined;
                message?: ((a?: string) => string) | string | undefined;
                min?: number | undefined;
                pattern?: (RegExp | string) | undefined;
                required?: boolean | undefined;
                type?: string | undefined;
                validator?: (Function | string) | undefined;
                whitespace?: boolean | undefined;
            }[] | undefined;
            show?: ((renderCallbackParams: import('../../types/src/index').RenderCallbackParams) => boolean) | boolean | undefined;
            slotName?: string | undefined;
            slots?: {
                [slotName: string]: ComponentSchema[];
            } | undefined;
            type: string;
        }[];
        script?: string | undefined;
    };
    removeComponentInstance: (id: string, scopeName?: string) => void;
    setDefaultComponentIds: (schemas: ComponentSchema[]) => void;
    setDesignMode: (isDesign?: boolean) => void;
    setFormData: (formData: Record<string, unknown>, formName?: string) => Record<string, unknown>;
    setMethods: (scriptStr: string, outputError?: boolean) => void;
    setPageSchema: (schema: import('../../types/src/index').PageSchema) => void;
};
export type PageManager = ReturnType<typeof createPageManager>;
