import { ComponentSchema, PageSchema } from '../../../types/epic-designer';
import { DesignerProps } from './types';
/**
 * 接受一个PageSchema对象作为参数。根据传入的schemas和script属性，更新页面对应的数据
 * @param pageSchema
 */
declare function setData(schema: PageSchema): void;
/**
 * 返回当前页面数据的 PageSchema 对象，包含页面当前的 schemas 和 script 数据。
 */
declare function getData(): PageSchema;
/**
 * 重置页面数据为默认数据。
 */
declare function reset(): void;
/**
 * 保存数据
 */
declare function handleSave(): void;
/**
 * 预览
 */
declare function handlePreview(): void;
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        header?(_: {}): any;
        'header-prefix'?(_: {}): any;
        'header-prefix'?(_: {}): any;
        'header-title'?(_: {}): any;
        'header-right-prefix'?(_: {}): any;
        'header-right-action'?(_: {}): any;
        'header-right-suffix'?(_: {}): any;
    };
    refs: {
        previewRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
            hideConfirm?: boolean;
            width?: string;
        }> & Readonly<{}>, {
            handleOpen: () => void;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
            width: string;
        }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
            kb: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
                pageSchema: PageSchema;
                formData?: import('../../../types/epic-designer').FormDataModel;
                disabled?: boolean;
            }> & Readonly<{
                onReady?: ((...args: unknown[] & []) => any) | undefined;
            }>, {
                ready: import('vue').Ref<boolean, boolean>;
                pageManager: {
                    componentInstances: import('vue').Ref<Record<string, import('vue').ComponentPublicInstance>, Record<string, import('vue').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('../../../types/epic-designer').RenderCallbackParams) => boolean) | undefined;
                            editData?: any;
                        }[];
                        canvas?: {
                            width?: string | undefined;
                            height?: string | undefined;
                            mode?: string | undefined;
                        } | undefined;
                        script?: string | undefined;
                    };
                    setPageSchema: (schema: PageSchema) => void;
                    forms: {};
                    addFormData: (formData: Record<string, any>, formName?: string) => void;
                    setFormData: (formData: Record<string, any>, formName?: string) => void;
                    getComponentInstance: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance | null;
                    find: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance | null;
                    findAll: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance[];
                    addComponentInstance: (id: string, instance: import('vue').ComponentPublicInstance) => void;
                    removeComponentInstance: (id: string) => void;
                    setMethods: (scriptStr: string, outputError?: boolean) => void;
                    doActions: (actions: import('@epic-designer/utils').ActionsModel[], ...args: any) => void;
                    setDesignMode: (isDesign?: boolean) => void;
                    setDefaultComponentIds: (schemas: ComponentSchema[]) => void;
                };
                getData: (formName?: string) => Promise<import('../../../types/epic-designer').FormDataModel>;
                setData: (data: import('../../../types/epic-designer').FormDataModel, formName?: string) => void;
                validate: (formName?: string) => Promise<import('../../../types/epic-designer').FormDataModel>;
                getForms: () => Promise<Record<string, import('../../../types/epic-designer').FormDataModel>>;
                setForms: (data: Record<string, import('../../../types/epic-designer').FormDataModel>) => void;
                validateAll: () => Promise<Record<string, import('../../../types/epic-designer').FormDataModel>>;
                getFormInstance: (formName?: string) => Promise<any>;
            }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
                ready: ((...args: unknown[]) => any) | (() => any);
            }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<{
                pageSchema: PageSchema;
                formData?: import('../../../types/epic-designer').FormDataModel;
                disabled?: boolean;
            }> & Readonly<{
                onReady?: ((...args: unknown[] & []) => any) | undefined;
            }>, {
                ready: import('vue').Ref<boolean, boolean>;
                pageManager: {
                    componentInstances: import('vue').Ref<Record<string, import('vue').ComponentPublicInstance>, Record<string, import('vue').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('../../../types/epic-designer').RenderCallbackParams) => boolean) | undefined;
                            editData?: any;
                        }[];
                        canvas?: {
                            width?: string | undefined;
                            height?: string | undefined;
                            mode?: string | undefined;
                        } | undefined;
                        script?: string | undefined;
                    };
                    setPageSchema: (schema: PageSchema) => void;
                    forms: {};
                    addFormData: (formData: Record<string, any>, formName?: string) => void;
                    setFormData: (formData: Record<string, any>, formName?: string) => void;
                    getComponentInstance: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance | null;
                    find: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance | null;
                    findAll: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance[];
                    addComponentInstance: (id: string, instance: import('vue').ComponentPublicInstance) => void;
                    removeComponentInstance: (id: string) => void;
                    setMethods: (scriptStr: string, outputError?: boolean) => void;
                    doActions: (actions: import('@epic-designer/utils').ActionsModel[], ...args: any) => void;
                    setDesignMode: (isDesign?: boolean) => void;
                    setDefaultComponentIds: (schemas: ComponentSchema[]) => void;
                };
                getData: (formName?: string) => Promise<import('../../../types/epic-designer').FormDataModel>;
                setData: (data: import('../../../types/epic-designer').FormDataModel, formName?: string) => void;
                validate: (formName?: string) => Promise<import('../../../types/epic-designer').FormDataModel>;
                getForms: () => Promise<Record<string, import('../../../types/epic-designer').FormDataModel>>;
                setForms: (data: Record<string, import('../../../types/epic-designer').FormDataModel>) => void;
                validateAll: () => Promise<Record<string, import('../../../types/epic-designer').FormDataModel>>;
                getFormInstance: (formName?: string) => Promise<any>;
            }, {}, {}, {}, {}> | null;
            monacoEditorRef: unknown;
        }, any, import('vue').ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<{
            hideConfirm?: boolean;
            width?: string;
        }> & Readonly<{}>, {
            handleOpen: () => void;
        }, {}, {}, {}, {
            width: string;
        }> | null;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<DesignerProps, {
    revoke: {
        recordList: import('vue').Ref<{
            type: string;
            componentSchema: string;
        }[], import('@epic-designer/utils').RecordModel[] | {
            type: string;
            componentSchema: string;
        }[]>;
        undoList: import('vue').Ref<{
            type: string;
            componentSchema: string;
        }[], import('@epic-designer/utils').RecordModel[] | {
            type: string;
            componentSchema: string;
        }[]>;
        currentRecord: import('vue').Ref<{
            type: string;
            componentSchema: string;
        } | null, import('@epic-designer/utils').RecordModel | {
            type: string;
            componentSchema: string;
        } | null>;
        push: (componentSchema: ComponentSchema[], type?: string) => void;
        undo: () => import('@epic-designer/utils').RecordModel | false;
        redo: () => import('@epic-designer/utils').RecordModel | false;
        reset: () => void;
    };
    setData: typeof setData;
    getData: typeof getData;
    reset: typeof reset;
    preview: typeof handlePreview;
    save: typeof handleSave;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    reset: (...args: any[]) => void;
    ready: (...args: any[]) => void;
    save: (...args: any[]) => void;
    imported: (...args: any[]) => void;
    toggleDeviceMode: (...args: any[]) => void;
}, string, import('vue').PublicProps, Readonly<DesignerProps> & Readonly<{
    onReset?: ((...args: any[]) => any) | undefined;
    onReady?: ((...args: any[]) => any) | undefined;
    onSave?: ((...args: any[]) => any) | undefined;
    onImported?: ((...args: any[]) => any) | undefined;
    onToggleDeviceMode?: ((...args: any[]) => any) | undefined;
}>, {
    title: string;
    disabledZoom: boolean;
    draggable: boolean;
    hiddenHeader: boolean;
    lockDefaultSchemaEdit: boolean;
    formMode: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
    previewRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
        hideConfirm?: boolean;
        width?: string;
    }> & Readonly<{}>, {
        handleOpen: () => void;
    }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
        width: string;
    }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
        kb: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
            pageSchema: PageSchema;
            formData?: import('../../../types/epic-designer').FormDataModel;
            disabled?: boolean;
        }> & Readonly<{
            onReady?: ((...args: unknown[] & []) => any) | undefined;
        }>, {
            ready: import('vue').Ref<boolean, boolean>;
            pageManager: {
                componentInstances: import('vue').Ref<Record<string, import('vue').ComponentPublicInstance>, Record<string, import('vue').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('../../../types/epic-designer').RenderCallbackParams) => boolean) | undefined;
                        editData?: any;
                    }[];
                    canvas?: {
                        width?: string | undefined;
                        height?: string | undefined;
                        mode?: string | undefined;
                    } | undefined;
                    script?: string | undefined;
                };
                setPageSchema: (schema: PageSchema) => void;
                forms: {};
                addFormData: (formData: Record<string, any>, formName?: string) => void;
                setFormData: (formData: Record<string, any>, formName?: string) => void;
                getComponentInstance: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance | null;
                find: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance | null;
                findAll: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance[];
                addComponentInstance: (id: string, instance: import('vue').ComponentPublicInstance) => void;
                removeComponentInstance: (id: string) => void;
                setMethods: (scriptStr: string, outputError?: boolean) => void;
                doActions: (actions: import('@epic-designer/utils').ActionsModel[], ...args: any) => void;
                setDesignMode: (isDesign?: boolean) => void;
                setDefaultComponentIds: (schemas: ComponentSchema[]) => void;
            };
            getData: (formName?: string) => Promise<import('../../../types/epic-designer').FormDataModel>;
            setData: (data: import('../../../types/epic-designer').FormDataModel, formName?: string) => void;
            validate: (formName?: string) => Promise<import('../../../types/epic-designer').FormDataModel>;
            getForms: () => Promise<Record<string, import('../../../types/epic-designer').FormDataModel>>;
            setForms: (data: Record<string, import('../../../types/epic-designer').FormDataModel>) => void;
            validateAll: () => Promise<Record<string, import('../../../types/epic-designer').FormDataModel>>;
            getFormInstance: (formName?: string) => Promise<any>;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
            ready: ((...args: unknown[]) => any) | (() => any);
        }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<{
            pageSchema: PageSchema;
            formData?: import('../../../types/epic-designer').FormDataModel;
            disabled?: boolean;
        }> & Readonly<{
            onReady?: ((...args: unknown[] & []) => any) | undefined;
        }>, {
            ready: import('vue').Ref<boolean, boolean>;
            pageManager: {
                componentInstances: import('vue').Ref<Record<string, import('vue').ComponentPublicInstance>, Record<string, import('vue').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('../../../types/epic-designer').RenderCallbackParams) => boolean) | undefined;
                        editData?: any;
                    }[];
                    canvas?: {
                        width?: string | undefined;
                        height?: string | undefined;
                        mode?: string | undefined;
                    } | undefined;
                    script?: string | undefined;
                };
                setPageSchema: (schema: PageSchema) => void;
                forms: {};
                addFormData: (formData: Record<string, any>, formName?: string) => void;
                setFormData: (formData: Record<string, any>, formName?: string) => void;
                getComponentInstance: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance | null;
                find: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance | null;
                findAll: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance[];
                addComponentInstance: (id: string, instance: import('vue').ComponentPublicInstance) => void;
                removeComponentInstance: (id: string) => void;
                setMethods: (scriptStr: string, outputError?: boolean) => void;
                doActions: (actions: import('@epic-designer/utils').ActionsModel[], ...args: any) => void;
                setDesignMode: (isDesign?: boolean) => void;
                setDefaultComponentIds: (schemas: ComponentSchema[]) => void;
            };
            getData: (formName?: string) => Promise<import('../../../types/epic-designer').FormDataModel>;
            setData: (data: import('../../../types/epic-designer').FormDataModel, formName?: string) => void;
            validate: (formName?: string) => Promise<import('../../../types/epic-designer').FormDataModel>;
            getForms: () => Promise<Record<string, import('../../../types/epic-designer').FormDataModel>>;
            setForms: (data: Record<string, import('../../../types/epic-designer').FormDataModel>) => void;
            validateAll: () => Promise<Record<string, import('../../../types/epic-designer').FormDataModel>>;
            getFormInstance: (formName?: string) => Promise<any>;
        }, {}, {}, {}, {}> | null;
        monacoEditorRef: unknown;
    }, any, import('vue').ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<{
        hideConfirm?: boolean;
        width?: string;
    }> & Readonly<{}>, {
        handleOpen: () => void;
    }, {}, {}, {}, {
        width: string;
    }> | null;
}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
