import { Ref } from 'vue';
import { Recordable } from '@maxax/types';
import { FormProps } from 'naive-ui';
import { BasicFormProps, BasicFormSchema } from './types';
declare function setProps(formProps: Partial<FormProps>): Promise<void>;
declare function trigger(data: Recordable): void;
declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<BasicFormProps, {
    submit: () => Promise<void>;
    removeSchemaByField: (field: string | string[]) => Promise<void>;
    appendSchemaByField: (schema: BasicFormSchema | BasicFormSchema[], prefixField?: string | undefined, first?: boolean | undefined) => Promise<void>;
    resetSchema: (data: Partial<BasicFormSchema> | Partial<BasicFormSchema>[]) => Promise<void>;
    updateSchema: (data: Partial<BasicFormSchema> | Partial<BasicFormSchema>[]) => Promise<void>;
    validate: import('naive-ui/es/form/src/interface').FormValidate;
    validateForm: () => Promise<Recordable<any>>;
    resetFields: () => Promise<void>;
    validateFields: (nameList: string[]) => Promise<Recordable<any>>;
    restoreValidation: () => void;
    setFieldsValue: (values: Recordable<any>) => Promise<void>;
    getFieldsValue: () => Recordable<any>;
    setProps: typeof setProps;
    resetDefaultField: (nameList?: string[] | undefined) => void;
    getFieldsValueAsync: () => Promise<Recordable<any>>;
    trigger: typeof trigger;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    reset: (values: Recordable<any>) => any;
    submit: (values: Recordable<any>) => any;
    trigger: (data: Recordable<any>) => any;
    "advanced-change": (isAdvanced: boolean) => any;
    fieldValueChange: (key: string, value: any) => any;
}, string, import('vue').PublicProps, Readonly<BasicFormProps> & Readonly<{
    onReset?: ((values: Recordable<any>) => any) | undefined;
    onSubmit?: ((values: Recordable<any>) => any) | undefined;
    onTrigger?: ((data: Recordable<any>) => any) | undefined;
    "onAdvanced-change"?: ((isAdvanced: boolean) => any) | undefined;
    onFieldValueChange?: ((key: string, value: any) => any) | undefined;
}>, {
    border: boolean;
    schemas: import('./types').FormSchema[];
    requireMarkPlacement: "left" | "right" | "right-hanging";
    above: boolean;
    labelWidth: string | number;
    labelPlacement: "left" | "top";
    showRequireMark: boolean;
    showFeedback: boolean;
    showLabel: boolean;
    rulesMessageJoinLabel: boolean;
    card: boolean;
    showResetButton: boolean;
    showSubmitButton: boolean;
    autoSetPlaceHolder: boolean;
    model: Recordable<any>;
    fieldMapToTime: import('./types').FormFieldMapToTime;
    transformDateFunc: (date: any) => string;
    showActionButtonGroup: boolean;
    showAdvancedButton: boolean;
    baseColProps: Partial<import('./types').BasicFormColProps>;
    emptySpan: number | Partial<import('./types').BasicFormColProps>;
    autoSubmitOnEnter: boolean;
    autoAdvancedLine: number;
    alwaysShowLines: number;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
    formElRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
        readonly inline: BooleanConstructor;
        readonly labelWidth: import('vue').PropType<string | number>;
        readonly labelAlign: import('vue').PropType<import('naive-ui/es/form/src/interface').LabelAlign>;
        readonly labelPlacement: {
            readonly type: import('vue').PropType<import('naive-ui/es/form/src/interface').LabelPlacement>;
            readonly default: "top";
        };
        readonly model: {
            readonly type: import('vue').PropType<Record<string, any>>;
            readonly default: () => void;
        };
        readonly rules: import('vue').PropType<import('naive-ui').FormRules>;
        readonly disabled: BooleanConstructor;
        readonly size: import('vue').PropType<import('naive-ui/es/form/src/interface').Size>;
        readonly showRequireMark: {
            readonly type: import('vue').PropType<boolean | undefined>;
            readonly default: undefined;
        };
        readonly requireMarkPlacement: import('vue').PropType<"left" | "right" | "right-hanging">;
        readonly showFeedback: {
            readonly type: BooleanConstructor;
            readonly default: true;
        };
        readonly onSubmit: {
            readonly type: import('vue').PropType<(e: Event) => void>;
            readonly default: (e: Event) => void;
        };
        readonly showLabel: {
            readonly type: import('vue').PropType<boolean | undefined>;
            readonly default: undefined;
        };
        readonly validateMessages: import('vue').PropType<Partial<import('naive-ui/es/form/src/interface').FormValidateMessages>>;
        readonly theme: import('vue').PropType<import('naive-ui/es/_mixins').Theme<"Form", {
            blankHeightSmall: string;
            blankHeightMedium: string;
            blankHeightLarge: string;
            lineHeight: string;
            labelTextColor: string;
            asteriskColor: string;
            feedbackTextColorError: string;
            feedbackTextColorWarning: string;
            feedbackTextColor: string;
            feedbackPadding: string;
            feedbackHeightSmall: string;
            feedbackHeightMedium: string;
            feedbackHeightLarge: string;
            feedbackFontSizeSmall: string;
            feedbackFontSizeMedium: string;
            feedbackFontSizeLarge: string;
            labelFontSizeLeftSmall: string;
            labelFontSizeLeftMedium: string;
            labelFontSizeLeftLarge: string;
            labelFontSizeTopSmall: string;
            labelFontSizeTopMedium: string;
            labelFontSizeTopLarge: string;
            labelHeightSmall: string;
            labelHeightMedium: string;
            labelHeightLarge: string;
            labelPaddingVertical: string;
            labelPaddingHorizontal: string;
            labelTextAlignVertical: string;
            labelTextAlignHorizontal: string;
            labelFontWeight: string;
        }, any>>;
        readonly themeOverrides: import('vue').PropType<import('naive-ui/es/_mixins/use-theme').ExtractThemeOverrides<import('naive-ui/es/_mixins').Theme<"Form", {
            blankHeightSmall: string;
            blankHeightMedium: string;
            blankHeightLarge: string;
            lineHeight: string;
            labelTextColor: string;
            asteriskColor: string;
            feedbackTextColorError: string;
            feedbackTextColorWarning: string;
            feedbackTextColor: string;
            feedbackPadding: string;
            feedbackHeightSmall: string;
            feedbackHeightMedium: string;
            feedbackHeightLarge: string;
            feedbackFontSizeSmall: string;
            feedbackFontSizeMedium: string;
            feedbackFontSizeLarge: string;
            labelFontSizeLeftSmall: string;
            labelFontSizeLeftMedium: string;
            labelFontSizeLeftLarge: string;
            labelFontSizeTopSmall: string;
            labelFontSizeTopMedium: string;
            labelFontSizeTopLarge: string;
            labelHeightSmall: string;
            labelHeightMedium: string;
            labelHeightLarge: string;
            labelPaddingVertical: string;
            labelPaddingHorizontal: string;
            labelTextAlignVertical: string;
            labelTextAlignHorizontal: string;
            labelFontWeight: string;
        }, any>>>;
        readonly builtinThemeOverrides: import('vue').PropType<import('naive-ui/es/_mixins/use-theme').ExtractThemeOverrides<import('naive-ui/es/_mixins').Theme<"Form", {
            blankHeightSmall: string;
            blankHeightMedium: string;
            blankHeightLarge: string;
            lineHeight: string;
            labelTextColor: string;
            asteriskColor: string;
            feedbackTextColorError: string;
            feedbackTextColorWarning: string;
            feedbackTextColor: string;
            feedbackPadding: string;
            feedbackHeightSmall: string;
            feedbackHeightMedium: string;
            feedbackHeightLarge: string;
            feedbackFontSizeSmall: string;
            feedbackFontSizeMedium: string;
            feedbackFontSizeLarge: string;
            labelFontSizeLeftSmall: string;
            labelFontSizeLeftMedium: string;
            labelFontSizeLeftLarge: string;
            labelFontSizeTopSmall: string;
            labelFontSizeTopMedium: string;
            labelFontSizeTopLarge: string;
            labelHeightSmall: string;
            labelHeightMedium: string;
            labelHeightLarge: string;
            labelPaddingVertical: string;
            labelPaddingHorizontal: string;
            labelTextAlignVertical: string;
            labelTextAlignHorizontal: string;
            labelFontWeight: string;
        }, any>>>;
    }>> & Readonly<{}>, import('naive-ui').FormInst & {
        mergedClsPrefix: Ref<string, string>;
    }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
        readonly disabled: boolean;
        readonly onSubmit: (e: Event) => void;
        readonly inline: boolean;
        readonly labelPlacement: import('naive-ui/es/form/src/interface').LabelPlacement;
        readonly model: Record<string, any>;
        readonly showRequireMark: boolean | undefined;
        readonly showFeedback: boolean;
        readonly showLabel: boolean | undefined;
    }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import('vue').ExtractPropTypes<{
        readonly inline: BooleanConstructor;
        readonly labelWidth: import('vue').PropType<string | number>;
        readonly labelAlign: import('vue').PropType<import('naive-ui/es/form/src/interface').LabelAlign>;
        readonly labelPlacement: {
            readonly type: import('vue').PropType<import('naive-ui/es/form/src/interface').LabelPlacement>;
            readonly default: "top";
        };
        readonly model: {
            readonly type: import('vue').PropType<Record<string, any>>;
            readonly default: () => void;
        };
        readonly rules: import('vue').PropType<import('naive-ui').FormRules>;
        readonly disabled: BooleanConstructor;
        readonly size: import('vue').PropType<import('naive-ui/es/form/src/interface').Size>;
        readonly showRequireMark: {
            readonly type: import('vue').PropType<boolean | undefined>;
            readonly default: undefined;
        };
        readonly requireMarkPlacement: import('vue').PropType<"left" | "right" | "right-hanging">;
        readonly showFeedback: {
            readonly type: BooleanConstructor;
            readonly default: true;
        };
        readonly onSubmit: {
            readonly type: import('vue').PropType<(e: Event) => void>;
            readonly default: (e: Event) => void;
        };
        readonly showLabel: {
            readonly type: import('vue').PropType<boolean | undefined>;
            readonly default: undefined;
        };
        readonly validateMessages: import('vue').PropType<Partial<import('naive-ui/es/form/src/interface').FormValidateMessages>>;
        readonly theme: import('vue').PropType<import('naive-ui/es/_mixins').Theme<"Form", {
            blankHeightSmall: string;
            blankHeightMedium: string;
            blankHeightLarge: string;
            lineHeight: string;
            labelTextColor: string;
            asteriskColor: string;
            feedbackTextColorError: string;
            feedbackTextColorWarning: string;
            feedbackTextColor: string;
            feedbackPadding: string;
            feedbackHeightSmall: string;
            feedbackHeightMedium: string;
            feedbackHeightLarge: string;
            feedbackFontSizeSmall: string;
            feedbackFontSizeMedium: string;
            feedbackFontSizeLarge: string;
            labelFontSizeLeftSmall: string;
            labelFontSizeLeftMedium: string;
            labelFontSizeLeftLarge: string;
            labelFontSizeTopSmall: string;
            labelFontSizeTopMedium: string;
            labelFontSizeTopLarge: string;
            labelHeightSmall: string;
            labelHeightMedium: string;
            labelHeightLarge: string;
            labelPaddingVertical: string;
            labelPaddingHorizontal: string;
            labelTextAlignVertical: string;
            labelTextAlignHorizontal: string;
            labelFontWeight: string;
        }, any>>;
        readonly themeOverrides: import('vue').PropType<import('naive-ui/es/_mixins/use-theme').ExtractThemeOverrides<import('naive-ui/es/_mixins').Theme<"Form", {
            blankHeightSmall: string;
            blankHeightMedium: string;
            blankHeightLarge: string;
            lineHeight: string;
            labelTextColor: string;
            asteriskColor: string;
            feedbackTextColorError: string;
            feedbackTextColorWarning: string;
            feedbackTextColor: string;
            feedbackPadding: string;
            feedbackHeightSmall: string;
            feedbackHeightMedium: string;
            feedbackHeightLarge: string;
            feedbackFontSizeSmall: string;
            feedbackFontSizeMedium: string;
            feedbackFontSizeLarge: string;
            labelFontSizeLeftSmall: string;
            labelFontSizeLeftMedium: string;
            labelFontSizeLeftLarge: string;
            labelFontSizeTopSmall: string;
            labelFontSizeTopMedium: string;
            labelFontSizeTopLarge: string;
            labelHeightSmall: string;
            labelHeightMedium: string;
            labelHeightLarge: string;
            labelPaddingVertical: string;
            labelPaddingHorizontal: string;
            labelTextAlignVertical: string;
            labelTextAlignHorizontal: string;
            labelFontWeight: string;
        }, any>>>;
        readonly builtinThemeOverrides: import('vue').PropType<import('naive-ui/es/_mixins/use-theme').ExtractThemeOverrides<import('naive-ui/es/_mixins').Theme<"Form", {
            blankHeightSmall: string;
            blankHeightMedium: string;
            blankHeightLarge: string;
            lineHeight: string;
            labelTextColor: string;
            asteriskColor: string;
            feedbackTextColorError: string;
            feedbackTextColorWarning: string;
            feedbackTextColor: string;
            feedbackPadding: string;
            feedbackHeightSmall: string;
            feedbackHeightMedium: string;
            feedbackHeightLarge: string;
            feedbackFontSizeSmall: string;
            feedbackFontSizeMedium: string;
            feedbackFontSizeLarge: string;
            labelFontSizeLeftSmall: string;
            labelFontSizeLeftMedium: string;
            labelFontSizeLeftLarge: string;
            labelFontSizeTopSmall: string;
            labelFontSizeTopMedium: string;
            labelFontSizeTopLarge: string;
            labelHeightSmall: string;
            labelHeightMedium: string;
            labelHeightLarge: string;
            labelPaddingVertical: string;
            labelPaddingHorizontal: string;
            labelTextAlignVertical: string;
            labelTextAlignHorizontal: string;
            labelFontWeight: string;
        }, any>>>;
    }>> & Readonly<{}>, import('naive-ui').FormInst & {
        mergedClsPrefix: Ref<string, string>;
    }, {}, {}, {}, {
        readonly disabled: boolean;
        readonly onSubmit: (e: Event) => void;
        readonly inline: boolean;
        readonly labelPlacement: import('naive-ui/es/form/src/interface').LabelPlacement;
        readonly model: Record<string, any>;
        readonly showRequireMark: boolean | undefined;
        readonly showFeedback: boolean;
        readonly showLabel: boolean | undefined;
    }> | null;
}, HTMLDivElement>, Partial<Record<string, (_: any) => any>> & Partial<Record<string, (_: any) => any>> & {
    formHeader?(_: {}): any;
    formFooter?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
//# sourceMappingURL=BasicForm.vue.d.ts.map