import type { NamePath } from 'ant-design-vue/lib/form/interface';
import type { Gutter } from 'ant-design-vue/lib/grid/Row';
import type { TableActionType } from '../../table';
import type { Gutter } from 'ant-design-vue/es/grid/Row';
import type { ColEx } from '../types';
import type { VueTypeValidableDef, VueTypeDef } from 'vue-types';
import type { DefineComponent, PropType, CSSProperties, ComputedRef, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, Ref } from 'vue';
import type { FieldMapToTime, FieldMapToRangeValue, ButtonProps, SearchSolution, FormProps,  FormActionType,  FormScheme } from '../types/form';
import type { Recordable } from '../../typings/global';
declare const _default: DefineComponent<{
    model: VueTypeValidableDef<Recordable<any>> & {
        default: () => Recordable<any>;
    };
    hideRequiredMark: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    labelCol: VueTypeValidableDef<ColEx>;
    layout: VueTypeDef<"horizontal" | "vertical" | "inline"> & {
        default: "horizontal" | "vertical" | "inline";
    };
    wrapperCol: VueTypeValidableDef<ColEx>;
    colon: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    labelAlign: VueTypeValidableDef<"left" | "right"> & {
        default: "left" | "right";
    };
    rowProps: VueTypeValidableDef<Partial<{
        align?: unknown;
        justify?: unknown;
        prefixCls?: unknown;
        gutter?: unknown;
        wrap?: unknown;
    } & {
        gutter: Gutter | [Gutter, Gutter];
    } & {
        prefixCls?: string | undefined;
        align?: "middle" | "top" | "bottom" | "stretch" | undefined;
        justify?: "center" | "space-around" | "space-between" | "end" | "start" | undefined;
        wrap?: boolean | undefined;
    }>>;
    labelWith: VueTypeDef<string | number> & {
        default: string | number;
    };
    fieldMapToTime: {
        type: PropType<FieldMapToTime>;
        default: () => never[];
    };
    fieldMapToRangeValue: {
        type: PropType<FieldMapToRangeValue>;
        default: () => never[];
    };
    schemes: VueTypeValidableDef<FormScheme[]> & {
        default: () => FormScheme[];
    };
    mergeDynamicData: VueTypeValidableDef<Recordable<any>> & {
        default: () => Recordable<any>;
    };
    baseRowStyle: VueTypeValidableDef<CSSProperties>;
    baseColProps: VueTypeValidableDef<ColEx>;
    autoSetPlaceHolder: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    autoSubmitOnEnter: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    submitOnReset: VueTypeValidableDef<boolean>;
    size: VueTypeValidableDef<any> & {
        default: any;
    };
    disabled: VueTypeValidableDef<boolean>;
    rulesMessageJoinLabel: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    showActionButtonGroup: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    actionColOptions: VueTypeValidableDef<Partial<ColEx>>;
    showResetButton: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    autoFocusFirstItem: VueTypeValidableDef<boolean>;
    resetButtonOptions: VueTypeValidableDef<Partial<ButtonProps>>;
    showSubmitButton: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    submitButtonOptions: VueTypeValidableDef<Partial<ButtonProps>>;
    resetFunc: VueTypeValidableDef<() => Promise<void>>;
    submitFunc: VueTypeValidableDef<() => Promise<void>>;
    tableAction: VueTypeValidableDef<TableActionType>;
    transformDateFunc: VueTypeValidableDef<(date: any) => string> & {
        default: (date: any) => string;
    };
    validateTrigger: VueTypeValidableDef<string> & {
        default: string;
    };
    showSearchSolution: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    searchSolutionProps: VueTypeValidableDef<SearchSolution> & {
        default: () => SearchSolution;
    };
    showAdvanced: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    autoAdvancedLines: VueTypeValidableDef<number> & {
        default: number;
    };
    t: VueTypeValidableDef<(key: string, ...args: any[]) => any>;
    simple: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
}, {
    getFormActionsProps: ComputedRef<{
        isAdvanced: boolean;
        layout?: "horizontal" | "vertical" | "inline" | undefined;
        model?: Recordable<any> | undefined;
        labelWidth?: string | number | undefined;
        labelAlign?: "left" | "right" | undefined;
        rowProps?: Partial<{
            align?: unknown;
            justify?: unknown;
            prefixCls?: unknown;
            gutter?: unknown;
            wrap?: unknown;
        } & {
            gutter: Gutter | [Gutter, Gutter];
        } & {
            prefixCls?: string | undefined;
            align?: "middle" | "top" | "bottom" | "stretch" | undefined;
            justify?: "center" | "space-around" | "space-between" | "end" | "start" | undefined;
            wrap?: boolean | undefined;
        }> | undefined;
        submitOnReset?: boolean | undefined;
        labelCol?: Partial<ColEx> | undefined;
        wrapperCol?: Partial<ColEx> | undefined;
        baseRowStyle?: CSSProperties | undefined;
        baseColProps?: Partial<ColEx> | undefined;
        schemes?: FormScheme[] | undefined;
        fieldMapToTime?: FieldMapToTime | undefined;
        fieldMapToRangeValue?: FieldMapToRangeValue | undefined;
        transformDateFunc?: ((date: any) => string) | undefined;
        mergeDynamicData?: Recordable<any> | undefined;
        size?: "small" | "middle" | "large" | undefined;
        disabled?: boolean | undefined;
        autoSetPlaceHolder?: boolean | undefined;
        autoSubmitOnEnter?: boolean | undefined;
        rulesMessageJoinLabel?: boolean | undefined;
        autoFocusFirstItem?: boolean | undefined;
        showActionButtonGroup?: boolean | undefined;
        resetButtonOptions?: Partial<ButtonProps> | undefined;
        submitButtonOptions?: Partial<ButtonProps> | undefined;
        actionColOptions?: Partial<ColEx> | undefined;
        showResetButton?: boolean | undefined;
        showSubmitButton?: boolean | undefined;
        resetFunc?: (() => Promise<void>) | undefined;
        submitFunc?: (() => Promise<void>) | undefined;
        colon?: boolean | undefined;
        showSearchSolution?: boolean | undefined;
        searchSolutionProps?: SearchSolution | undefined;
        showAdvanced?: boolean | undefined;
        advancedButtonProps?: Partial<ButtonProps> | undefined;
        autoAdvancedLines?: number | undefined;
        t?: ((key: string, ...args: any[]) => any) | undefined;
        simple?: boolean | undefined;
    }>;
    handleToggleAdvanced: () => void;
    isAdvanced: Ref<boolean>;
    submit?: (() => Promise<void>) | undefined;
    setFieldsValue?: (<T>(values: T) => Promise<void>) | undefined;
    resetFields?: (() => Promise<void>) | undefined;
    getFieldsValue?: (() => Recordable<any>) | undefined;
    clearValidate?: ((name?: string | string[] | undefined) => Promise<void>) | undefined;
    updateScheme?: ((data: Partial<FormScheme> | Partial<FormScheme>[]) => Promise<void>) | undefined;
    resetScheme?: ((data: Partial<FormScheme> | Partial<FormScheme>[]) => Promise<void>) | undefined;
    setProps?: ((formProps: Partial<FormProps>) => Promise<void>) | undefined;
    removeSchemeByFiled?: ((field: string | string[]) => Promise<void>) | undefined;
    appendSchemeByField?: ((scheme: FormScheme, prefixField: string | undefined, first?: boolean | undefined) => Promise<void>) | undefined;
    validateFields?: ((nameList?: NamePath[] | undefined) => Promise<any>) | undefined;
    validate?: ((nameList?: NamePath[] | undefined) => Promise<any>) | undefined;
    scrollToField?: ((name: NamePath, options?: ScrollOptions | undefined) => Promise<void>) | undefined;
    prefixCls: string;
    formElRef: Ref<{
        submit: () => Promise<void>;
        setFieldsValue: <T>(values: T) => Promise<void>;
        resetFields: () => Promise<void>;
        getFieldsValue: () => Recordable<any>;
        clearValidate: (name?: string | string[] | undefined) => Promise<void>;
        updateScheme: (data: Partial<FormScheme> | Partial<FormScheme>[]) => Promise<void>;
        resetScheme: (data: Partial<FormScheme> | Partial<FormScheme>[]) => Promise<void>;
        setProps: (formProps: Partial<FormProps>) => Promise<void>;
        removeSchemeByFiled: (field: string | string[]) => Promise<void>;
        appendSchemeByField: (scheme: FormScheme, prefixField: string | undefined, first?: boolean | undefined) => Promise<void>;
        validateFields: (nameList?: NamePath[] | undefined) => Promise<any>;
        validate: (nameList?: NamePath[] | undefined) => Promise<any>;
        scrollToField: (name: NamePath, options?: ScrollOptions | undefined) => Promise<void>;
    } | null>;
    formModel: {
        [x: string]: any;
    };
    getBindValue: ComputedRef<{
        layout: "horizontal" | "vertical" | "inline";
        model: Recordable<any>;
        labelWidth?: string | number | undefined;
        labelAlign: "left" | "right";
        rowProps: Partial<{
            align?: unknown;
            justify?: unknown;
            prefixCls?: unknown;
            gutter?: unknown;
            wrap?: unknown;
        } & {
            gutter: Gutter | [Gutter, Gutter];
        } & {
            prefixCls?: string | undefined;
            align?: "middle" | "top" | "bottom" | "stretch" | undefined;
            justify?: "center" | "space-around" | "space-between" | "end" | "start" | undefined;
            wrap?: boolean | undefined;
        }> | Partial<{
            align?: unknown;
            justify?: unknown;
            prefixCls?: unknown;
            gutter?: unknown;
            wrap?: unknown;
        } & {
            gutter: Gutter | [Gutter, Gutter];
        } & {
            prefixCls?: string | undefined;
            align?: "middle" | "top" | "bottom" | "stretch" | undefined;
            justify?: "center" | "space-around" | "space-between" | "end" | "start" | undefined;
            wrap?: boolean | undefined;
        }> | undefined;
        submitOnReset: boolean | undefined;
        labelCol: ColEx | Partial<ColEx> | undefined;
        wrapperCol: ColEx | Partial<ColEx> | undefined;
        baseRowStyle: CSSProperties | undefined;
        baseColProps: ColEx | Partial<ColEx> | undefined;
        schemes: FormScheme[];
        fieldMapToTime: FieldMapToTime;
        fieldMapToRangeValue: FieldMapToRangeValue;
        transformDateFunc: ((date: any) => string) | ((date: any) => string);
        mergeDynamicData: Recordable<any>;
        size: any;
        disabled: boolean | undefined;
        autoSetPlaceHolder: boolean;
        autoSubmitOnEnter: boolean;
        rulesMessageJoinLabel: boolean;
        autoFocusFirstItem: boolean | undefined;
        showActionButtonGroup: boolean;
        resetButtonOptions: Partial<ButtonProps> | undefined;
        submitButtonOptions: Partial<ButtonProps> | undefined;
        actionColOptions: Partial<ColEx> | undefined;
        showResetButton: boolean;
        showSubmitButton: boolean;
        resetFunc: (() => Promise<void>) | (() => Promise<void>) | undefined;
        submitFunc: (() => Promise<void>) | (() => Promise<void>) | undefined;
        colon: boolean;
        showSearchSolution: boolean;
        searchSolutionProps: SearchSolution;
        showAdvanced: boolean;
        advancedButtonProps?: Partial<ButtonProps> | undefined;
        autoAdvancedLines: number;
        t: ((key: string, ...args: any[]) => any) | ((key: string, ...args: any[]) => any) | undefined;
        simple: boolean;
        validateTrigger: string;
        hideRequiredMark: boolean;
        tableAction: TableActionType | undefined;
        labelWith: string | number;
    }>;
    getProps: ComputedRef<FormProps>;
    handleKeyPressEnter: (e: KeyboardEvent) => void;
    getRowProps: ComputedRef<{
        align?: "middle" | "top" | "bottom" | "stretch" | undefined;
        justify?: "center" | "space-around" | "space-between" | "end" | "start" | undefined;
        prefixCls?: string | undefined;
        gutter?: Gutter | [Gutter, Gutter] | undefined;
        wrap?: boolean | undefined;
        style: CSSProperties;
    } | {
        type: string;
        gutter: [{
            md: number;
            lg: number;
            xl: number;
        }];
        style: CSSProperties;
    }>;
    getSchemes: ComputedRef<FormScheme[]>;
    getSlots: string[];
    setFormModel: (key: string, value: any) => void;
    formActions: FormActionType;
    defaultValueRef: Ref<{
        [x: string]: any;
    }>;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<{
    model?: unknown;
    hideRequiredMark?: unknown;
    labelCol?: unknown;
    layout?: unknown;
    wrapperCol?: unknown;
    colon?: unknown;
    labelAlign?: unknown;
    rowProps?: unknown;
    labelWith?: unknown;
    fieldMapToTime?: unknown;
    fieldMapToRangeValue?: unknown;
    schemes?: unknown;
    mergeDynamicData?: unknown;
    baseRowStyle?: unknown;
    baseColProps?: unknown;
    autoSetPlaceHolder?: unknown;
    autoSubmitOnEnter?: unknown;
    submitOnReset?: unknown;
    size?: unknown;
    disabled?: unknown;
    rulesMessageJoinLabel?: unknown;
    showActionButtonGroup?: unknown;
    actionColOptions?: unknown;
    showResetButton?: unknown;
    autoFocusFirstItem?: unknown;
    resetButtonOptions?: unknown;
    showSubmitButton?: unknown;
    submitButtonOptions?: unknown;
    resetFunc?: unknown;
    submitFunc?: unknown;
    tableAction?: unknown;
    transformDateFunc?: unknown;
    validateTrigger?: unknown;
    showSearchSolution?: unknown;
    searchSolutionProps?: unknown;
    showAdvanced?: unknown;
    autoAdvancedLines?: unknown;
    t?: unknown;
    simple?: unknown;
} & {
    layout: "horizontal" | "vertical" | "inline";
    colon: boolean;
    validateTrigger: string;
    labelAlign: "left" | "right";
    hideRequiredMark: boolean;
    model: Recordable<any>;
    showActionButtonGroup: boolean;
    showResetButton: boolean;
    showSubmitButton: boolean;
    showSearchSolution: boolean;
    searchSolutionProps: SearchSolution;
    showAdvanced: boolean;
    labelWith: string | number;
    fieldMapToTime: FieldMapToTime;
    fieldMapToRangeValue: FieldMapToRangeValue;
    schemes: FormScheme[];
    mergeDynamicData: Recordable<any>;
    autoSetPlaceHolder: boolean;
    autoSubmitOnEnter: boolean;
    rulesMessageJoinLabel: boolean;
    transformDateFunc: (date: any) => string;
    autoAdvancedLines: number;
    simple: boolean;
} & {
    size?: any;
    disabled?: boolean | undefined;
    labelCol?: ColEx | undefined;
    wrapperCol?: ColEx | undefined;
    tableAction?: TableActionType | undefined;
    t?: ((key: string, ...args: any[]) => any) | undefined;
    resetButtonOptions?: Partial<ButtonProps> | undefined;
    submitButtonOptions?: Partial<ButtonProps> | undefined;
    actionColOptions?: Partial<ColEx> | undefined;
    rowProps?: Partial<{
        align?: unknown;
        justify?: unknown;
        prefixCls?: unknown;
        gutter?: unknown;
        wrap?: unknown;
    } & {
        gutter: Gutter | [Gutter, Gutter];
    } & {
        prefixCls?: string | undefined;
        align?: "middle" | "top" | "bottom" | "stretch" | undefined;
        justify?: "center" | "space-around" | "space-between" | "end" | "start" | undefined;
        wrap?: boolean | undefined;
    }> | undefined;
    baseRowStyle?: CSSProperties | undefined;
    baseColProps?: ColEx | undefined;
    submitOnReset?: boolean | undefined;
    autoFocusFirstItem?: boolean | undefined;
    resetFunc?: (() => Promise<void>) | undefined;
    submitFunc?: (() => Promise<void>) | undefined;
}>, {
    size: any;
    layout: "horizontal" | "vertical" | "inline";
    colon: boolean;
    validateTrigger: string;
    labelAlign: "left" | "right";
    hideRequiredMark: boolean;
    model: Recordable<any>;
    showActionButtonGroup: boolean;
    showResetButton: boolean;
    showSubmitButton: boolean;
    showSearchSolution: boolean;
    searchSolutionProps: SearchSolution;
    showAdvanced: boolean;
    labelWith: string | number;
    fieldMapToTime: FieldMapToTime;
    fieldMapToRangeValue: FieldMapToRangeValue;
    schemes: FormScheme[];
    mergeDynamicData: Recordable<any>;
    autoSetPlaceHolder: boolean;
    autoSubmitOnEnter: boolean;
    rulesMessageJoinLabel: boolean;
    transformDateFunc: (date: any) => string;
    autoAdvancedLines: number;
    simple: boolean;
}>;
export default _default;
