import { CreateComponentPublicInstance, ExtractPropTypes, PropType, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ComponentOptionsBase } from 'vue';
export * from './src/type';
export declare const TModuleForm: {
    new (...args: any[]): CreateComponentPublicInstance<Readonly< ExtractPropTypes<{
        footer: {
            type: PropType<any>;
        };
        title: {
            type: PropType<string>;
            default: string;
        };
        submit: {
            type: PropType<(form: Record<string, any>) => Promise<boolean>>;
            default: () => Promise<boolean>;
        };
        handleType: {
            type: PropType<"desc" | "edit">;
            default: string;
        };
        isShowHeader: {
            type: PropType<boolean>;
            default: boolean;
        };
        titleSlot: {
            type: PropType<boolean>;
            default: boolean;
        };
        isShowBack: {
            type: PropType<boolean>;
            default: boolean;
        };
        isGoBackEvent: {
            type: PropType<boolean>;
            default: boolean;
        };
        btnSaveBind: {
            type: PropType<Record<string, any>>;
            default: () => {};
        };
        btnCancelBind: {
            type: PropType<Record<string, any>>;
            default: () => {};
        };
        isTabMargin: {
            type: PropType<boolean>;
            default: boolean;
        };
        tabMarginNum: {
            type: PropType<number>;
            default: number;
        };
        subTitle: {
            type: PropType<string>;
            default: string;
        };
        tabs: {
            type: PropType<{
                key: string;
                title: string;
            }[]>;
            default: () => never[];
        };
    }>> & {
        onValidateError?: ((...args: any[]) => any) | undefined;
        onBack?: ((...args: any[]) => any) | undefined;
        onTabsChange?: ((...args: any[]) => any) | undefined;
    }, {
        clearValidate: () => void;
        resetFormFields: () => void;
        updateFormFields: () => void;
        setSelectedTab: (key: any) => void;
        saveHandle: () => Promise<void>;
    }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
        validateError: (...args: any[]) => void;
        back: (...args: any[]) => void;
        tabsChange: (...args: any[]) => void;
    }, VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly< ExtractPropTypes<{
        footer: {
            type: PropType<any>;
        };
        title: {
            type: PropType<string>;
            default: string;
        };
        submit: {
            type: PropType<(form: Record<string, any>) => Promise<boolean>>;
            default: () => Promise<boolean>;
        };
        handleType: {
            type: PropType<"desc" | "edit">;
            default: string;
        };
        isShowHeader: {
            type: PropType<boolean>;
            default: boolean;
        };
        titleSlot: {
            type: PropType<boolean>;
            default: boolean;
        };
        isShowBack: {
            type: PropType<boolean>;
            default: boolean;
        };
        isGoBackEvent: {
            type: PropType<boolean>;
            default: boolean;
        };
        btnSaveBind: {
            type: PropType<Record<string, any>>;
            default: () => {};
        };
        btnCancelBind: {
            type: PropType<Record<string, any>>;
            default: () => {};
        };
        isTabMargin: {
            type: PropType<boolean>;
            default: boolean;
        };
        tabMarginNum: {
            type: PropType<number>;
            default: number;
        };
        subTitle: {
            type: PropType<string>;
            default: string;
        };
        tabs: {
            type: PropType<{
                key: string;
                title: string;
            }[]>;
            default: () => never[];
        };
    }>> & {
        onValidateError?: ((...args: any[]) => any) | undefined;
        onBack?: ((...args: any[]) => any) | undefined;
        onTabsChange?: ((...args: any[]) => any) | undefined;
    }, {
        title: string;
        submit: (form: Record<string, any>) => Promise<boolean>;
        handleType: "edit" | "desc";
        isShowHeader: boolean;
        titleSlot: boolean;
        isShowBack: boolean;
        isGoBackEvent: boolean;
        btnSaveBind: Record<string, any>;
        btnCancelBind: Record<string, any>;
        isTabMargin: boolean;
        tabMarginNum: number;
        subTitle: string;
        tabs: Array<{
            key: string;
            title: string;
        }>;
    }, true, {}, {}, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly< ExtractPropTypes<{
        footer: {
            type: PropType<any>;
        };
        title: {
            type: PropType<string>;
            default: string;
        };
        submit: {
            type: PropType<(form: Record<string, any>) => Promise<boolean>>;
            default: () => Promise<boolean>;
        };
        handleType: {
            type: PropType<"desc" | "edit">;
            default: string;
        };
        isShowHeader: {
            type: PropType<boolean>;
            default: boolean;
        };
        titleSlot: {
            type: PropType<boolean>;
            default: boolean;
        };
        isShowBack: {
            type: PropType<boolean>;
            default: boolean;
        };
        isGoBackEvent: {
            type: PropType<boolean>;
            default: boolean;
        };
        btnSaveBind: {
            type: PropType<Record<string, any>>;
            default: () => {};
        };
        btnCancelBind: {
            type: PropType<Record<string, any>>;
            default: () => {};
        };
        isTabMargin: {
            type: PropType<boolean>;
            default: boolean;
        };
        tabMarginNum: {
            type: PropType<number>;
            default: number;
        };
        subTitle: {
            type: PropType<string>;
            default: string;
        };
        tabs: {
            type: PropType<{
                key: string;
                title: string;
            }[]>;
            default: () => never[];
        };
    }>> & {
        onValidateError?: ((...args: any[]) => any) | undefined;
        onBack?: ((...args: any[]) => any) | undefined;
        onTabsChange?: ((...args: any[]) => any) | undefined;
    }, {
        clearValidate: () => void;
        resetFormFields: () => void;
        updateFormFields: () => void;
        setSelectedTab: (key: any) => void;
        saveHandle: () => Promise<void>;
    }, {}, {}, {}, {
        title: string;
        submit: (form: Record<string, any>) => Promise<boolean>;
        handleType: "edit" | "desc";
        isShowHeader: boolean;
        titleSlot: boolean;
        isShowBack: boolean;
        isGoBackEvent: boolean;
        btnSaveBind: Record<string, any>;
        btnCancelBind: Record<string, any>;
        isTabMargin: boolean;
        tabMarginNum: number;
        subTitle: string;
        tabs: Array<{
            key: string;
            title: string;
        }>;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & ComponentOptionsBase<Readonly< ExtractPropTypes<{
    footer: {
        type: PropType<any>;
    };
    title: {
        type: PropType<string>;
        default: string;
    };
    submit: {
        type: PropType<(form: Record<string, any>) => Promise<boolean>>;
        default: () => Promise<boolean>;
    };
    handleType: {
        type: PropType<"desc" | "edit">;
        default: string;
    };
    isShowHeader: {
        type: PropType<boolean>;
        default: boolean;
    };
    titleSlot: {
        type: PropType<boolean>;
        default: boolean;
    };
    isShowBack: {
        type: PropType<boolean>;
        default: boolean;
    };
    isGoBackEvent: {
        type: PropType<boolean>;
        default: boolean;
    };
    btnSaveBind: {
        type: PropType<Record<string, any>>;
        default: () => {};
    };
    btnCancelBind: {
        type: PropType<Record<string, any>>;
        default: () => {};
    };
    isTabMargin: {
        type: PropType<boolean>;
        default: boolean;
    };
    tabMarginNum: {
        type: PropType<number>;
        default: number;
    };
    subTitle: {
        type: PropType<string>;
        default: string;
    };
    tabs: {
        type: PropType<{
            key: string;
            title: string;
        }[]>;
        default: () => never[];
    };
}>> & {
    onValidateError?: ((...args: any[]) => any) | undefined;
    onBack?: ((...args: any[]) => any) | undefined;
    onTabsChange?: ((...args: any[]) => any) | undefined;
}, {
    clearValidate: () => void;
    resetFormFields: () => void;
    updateFormFields: () => void;
    setSelectedTab: (key: any) => void;
    saveHandle: () => Promise<void>;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    validateError: (...args: any[]) => void;
    back: (...args: any[]) => void;
    tabsChange: (...args: any[]) => void;
}, string, {
    title: string;
    submit: (form: Record<string, any>) => Promise<boolean>;
    handleType: "edit" | "desc";
    isShowHeader: boolean;
    titleSlot: boolean;
    isShowBack: boolean;
    isGoBackEvent: boolean;
    btnSaveBind: Record<string, any>;
    btnCancelBind: Record<string, any>;
    isTabMargin: boolean;
    tabMarginNum: number;
    subTitle: string;
    tabs: Array<{
        key: string;
        title: string;
    }>;
}, {}, string, {}> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
    $slots: Partial<Record<NonNullable<string | number>, (_: any) => any>> & Partial<Record<NonNullable<string | number>, (_: any) => any>> & Partial<Record<string, (_: {}) => any>> & Partial<Record<string, (_: {}) => any>> & {
        title?(_: {}): any;
        extra?(_: {}): any;
        default?(_: {}): any;
        footer?(_: {}): any;
    };
});
