import { ComponentSchema } from '@epic-designer/core/types/epic-designer';
import { ComponentPublicInstance } from 'vue';
export interface ActionsModel {
    componentId?: string;
    args: string;
    methodName: string;
    type: "component" | "public" | "custom";
}
export declare function usePageManager(): {
    componentInstances: import('vue').Ref<Record<string, ComponentPublicInstance>, Record<string, ComponentPublicInstance>>;
    funcs: import('vue').Ref<Record<string, any>, Record<string, any>>;
    isDesignMode: import('vue').Ref<boolean, boolean>;
    defaultComponentIds: import('vue').Ref<string[], string[]>;
    pageSchema: {
        schemas: {
            [x: string]: any;
            id?: string | undefined;
            type: string;
            label?: string | undefined;
            field?: string | undefined;
            componentProps?: any;
            slotName?: string | undefined;
            rules?: {
                [x: string]: any;
                trigger?: string | string[] | undefined;
                required?: boolean | undefined;
                type?: string | undefined;
                pattern?: (RegExp | string) | undefined;
                min?: number | undefined;
                max?: number | undefined;
                len?: number | undefined;
                enum?: Array<string | number | boolean | null | undefined> | undefined;
                whitespace?: boolean | undefined;
                validator?: string | undefined;
                isValidator?: boolean | undefined;
                message?: string | ((a?: string) => string) | undefined;
            }[] | undefined;
            noFormItem?: boolean | undefined;
            input?: boolean | undefined;
            children?: /*elided*/ any[] | undefined;
            slots?: {
                [slotName: string]: ComponentSchema[];
            } | undefined;
            show?: boolean | ((renderCallbackParams: import('@epic-designer/core/types/epic-designer').RenderCallbackParams) => boolean) | undefined;
            editData?: any;
        }[];
        canvas?: {
            width?: string | undefined;
            height?: string | undefined;
            mode?: string | undefined;
        } | undefined;
        script?: string | undefined;
    };
    setPageSchema: (schema: import('@epic-designer/core/types/epic-designer').PageSchema) => void;
    forms: {};
    addFormData: (formData: Record<string, any>, formName?: string) => void;
    setFormData: (formData: Record<string, any>, formName?: string) => void;
    getComponentInstance: (queryValue: string, queryField?: string) => ComponentPublicInstance | null;
    find: (queryValue: string, queryField?: string) => ComponentPublicInstance | null;
    findAll: (queryValue: string, queryField?: string) => ComponentPublicInstance[];
    addComponentInstance: (id: string, instance: ComponentPublicInstance) => void;
    removeComponentInstance: (id: string) => void;
    setMethods: (scriptStr: string, outputError?: boolean) => void;
    doActions: (actions: ActionsModel[], ...args: any) => void;
    setDesignMode: (isDesign?: boolean) => void;
    setDefaultComponentIds: (schemas: ComponentSchema[]) => void;
};
export type PageManager = ReturnType<typeof usePageManager>;
