import { Options } from 'scroll-into-view-if-needed';
import { ComponentPublicInstance, ExtractPropTypes, HTMLAttributes, PropType, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { SizeType } from '../config-provider';
import { default as FormItem } from './FormItem';
import { FormLabelAlign, InternalNamePath, NamePath, ValidateErrorEntity, ValidateMessages, ValidateOptions, RuleObject, FieldData } from './interface';
import { default as useForm } from './useForm';
import { VueTypeDef, VueTypeValidableDef } from 'vue-types';
import { ColSize } from '../grid';
import { VueNode } from '../_util/type';
export type RequiredMark = boolean | 'optional';
export type FormLayout = 'horizontal' | 'inline' | 'vertical';
export declare const formProps: () => {
    layout: VueTypeDef<string>;
    labelCol: {
        type: PropType<Partial<ExtractPropTypes<{
            span: (StringConstructor | NumberConstructor)[];
            order: (StringConstructor | NumberConstructor)[];
            offset: (StringConstructor | NumberConstructor)[];
            push: (StringConstructor | NumberConstructor)[];
            pull: (StringConstructor | NumberConstructor)[];
            xs: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            sm: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            md: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            lg: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xxl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            prefixCls: StringConstructor;
            flex: (StringConstructor | NumberConstructor)[];
        }>> & HTMLAttributes>;
        default: Partial<ExtractPropTypes<{
            span: (StringConstructor | NumberConstructor)[];
            order: (StringConstructor | NumberConstructor)[];
            offset: (StringConstructor | NumberConstructor)[];
            push: (StringConstructor | NumberConstructor)[];
            pull: (StringConstructor | NumberConstructor)[];
            xs: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            sm: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            md: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            lg: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xxl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            prefixCls: StringConstructor;
            flex: (StringConstructor | NumberConstructor)[];
        }>> & HTMLAttributes;
    };
    wrapperCol: {
        type: PropType<Partial<ExtractPropTypes<{
            span: (StringConstructor | NumberConstructor)[];
            order: (StringConstructor | NumberConstructor)[];
            offset: (StringConstructor | NumberConstructor)[];
            push: (StringConstructor | NumberConstructor)[];
            pull: (StringConstructor | NumberConstructor)[];
            xs: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            sm: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            md: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            lg: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xxl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            prefixCls: StringConstructor;
            flex: (StringConstructor | NumberConstructor)[];
        }>> & HTMLAttributes>;
        default: Partial<ExtractPropTypes<{
            span: (StringConstructor | NumberConstructor)[];
            order: (StringConstructor | NumberConstructor)[];
            offset: (StringConstructor | NumberConstructor)[];
            push: (StringConstructor | NumberConstructor)[];
            pull: (StringConstructor | NumberConstructor)[];
            xs: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            sm: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            md: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            lg: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xxl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            prefixCls: StringConstructor;
            flex: (StringConstructor | NumberConstructor)[];
        }>> & HTMLAttributes;
    };
    colon: {
        type: BooleanConstructor;
        default: boolean;
    };
    labelAlign: {
        type: PropType<FormLabelAlign>;
        default: FormLabelAlign;
    };
    labelWrap: {
        type: BooleanConstructor;
        default: boolean;
    };
    prefixCls: StringConstructor;
    requiredMark: {
        type: PropType<"" | RequiredMark>;
        default: "" | RequiredMark;
    };
    /** @deprecated Will warning in future branch. Pls use `requiredMark` instead. */
    hideRequiredMark: {
        type: BooleanConstructor;
        default: boolean;
    };
    model: VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    rules: {
        type: PropType<{
            [k: string]: RuleObject | RuleObject[];
        }>;
        default: {
            [k: string]: RuleObject | RuleObject[];
        };
    };
    validateMessages: {
        type: PropType<ValidateMessages>;
        default: ValidateMessages;
    };
    validateOnRuleChange: {
        type: BooleanConstructor;
        default: boolean;
    };
    scrollToFirstError: {
        default: boolean | Options;
        type: PropType<boolean | Options>;
    };
    onSubmit: {
        type: PropType<(e: Event) => void>;
        default: (e: Event) => void;
    };
    name: StringConstructor;
    validateTrigger: {
        type: PropType<string | string[]>;
        default: string | string[];
    };
    size: {
        type: PropType<SizeType>;
        default: SizeType;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    onValuesChange: {
        type: PropType<((changedValues: any, values: any) => void) | undefined>;
        default: ((changedValues: any, values: any) => void) | undefined;
    };
    onFieldsChange: {
        type: PropType<((changedFields: FieldData[], allFields: FieldData[]) => void) | undefined>;
        default: ((changedFields: FieldData[], allFields: FieldData[]) => void) | undefined;
    };
    onFinish: {
        type: PropType<((values: any) => void) | undefined>;
        default: ((values: any) => void) | undefined;
    };
    onFinishFailed: {
        type: PropType<((errorInfo: ValidateErrorEntity<any>) => void) | undefined>;
        default: ((errorInfo: ValidateErrorEntity<any>) => void) | undefined;
    };
    onValidate: {
        type: PropType<((name: string | number | string[] | number[], status: boolean, errors: string[] | null) => void) | undefined>;
        default: ((name: string | number | string[] | number[], status: boolean, errors: string[] | null) => void) | undefined;
    };
};
export type FormProps = Partial<ExtractPropTypes<ReturnType<typeof formProps>>>;
export interface FormExpose {
    resetFields: (name?: NamePath) => void;
    clearValidate: (name?: NamePath) => void;
    validateFields: (nameList?: NamePath[] | string, options?: ValidateOptions) => Promise<{
        [key: string]: any;
    }>;
    getFieldsValue: (nameList?: InternalNamePath[] | true) => {
        [key: string]: any;
    };
    validate: (nameList?: NamePath[] | string, options?: ValidateOptions) => Promise<{
        [key: string]: any;
    }>;
    scrollToField: (name: NamePath, options?: {}) => void;
}
export type FormInstance = ComponentPublicInstance<FormProps, FormExpose>;
declare const Form: DefineComponent<ExtractPropTypes<{
    layout: VueTypeDef<string>;
    labelCol: {
        type: PropType<Partial<ExtractPropTypes<{
            span: (StringConstructor | NumberConstructor)[];
            order: (StringConstructor | NumberConstructor)[];
            offset: (StringConstructor | NumberConstructor)[];
            push: (StringConstructor | NumberConstructor)[];
            pull: (StringConstructor | NumberConstructor)[];
            xs: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            sm: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            md: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            lg: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xxl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            prefixCls: StringConstructor;
            flex: (StringConstructor | NumberConstructor)[];
        }>> & HTMLAttributes>;
        default: Partial<ExtractPropTypes<{
            span: (StringConstructor | NumberConstructor)[];
            order: (StringConstructor | NumberConstructor)[];
            offset: (StringConstructor | NumberConstructor)[];
            push: (StringConstructor | NumberConstructor)[];
            pull: (StringConstructor | NumberConstructor)[];
            xs: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            sm: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            md: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            lg: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xxl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            prefixCls: StringConstructor;
            flex: (StringConstructor | NumberConstructor)[];
        }>> & HTMLAttributes;
    };
    wrapperCol: {
        type: PropType<Partial<ExtractPropTypes<{
            span: (StringConstructor | NumberConstructor)[];
            order: (StringConstructor | NumberConstructor)[];
            offset: (StringConstructor | NumberConstructor)[];
            push: (StringConstructor | NumberConstructor)[];
            pull: (StringConstructor | NumberConstructor)[];
            xs: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            sm: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            md: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            lg: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xxl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            prefixCls: StringConstructor;
            flex: (StringConstructor | NumberConstructor)[];
        }>> & HTMLAttributes>;
        default: Partial<ExtractPropTypes<{
            span: (StringConstructor | NumberConstructor)[];
            order: (StringConstructor | NumberConstructor)[];
            offset: (StringConstructor | NumberConstructor)[];
            push: (StringConstructor | NumberConstructor)[];
            pull: (StringConstructor | NumberConstructor)[];
            xs: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            sm: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            md: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            lg: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xxl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            prefixCls: StringConstructor;
            flex: (StringConstructor | NumberConstructor)[];
        }>> & HTMLAttributes;
    };
    colon: {
        type: BooleanConstructor;
        default: boolean;
    };
    labelAlign: {
        type: PropType<FormLabelAlign>;
        default: FormLabelAlign;
    };
    labelWrap: {
        type: BooleanConstructor;
        default: boolean;
    };
    prefixCls: StringConstructor;
    requiredMark: {
        type: PropType<"" | RequiredMark>;
        default: "" | RequiredMark;
    };
    /** @deprecated Will warning in future branch. Pls use `requiredMark` instead. */
    hideRequiredMark: {
        type: BooleanConstructor;
        default: boolean;
    };
    model: VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    rules: {
        type: PropType<{
            [k: string]: RuleObject | RuleObject[];
        }>;
        default: {
            [k: string]: RuleObject | RuleObject[];
        };
    };
    validateMessages: {
        type: PropType<ValidateMessages>;
        default: ValidateMessages;
    };
    validateOnRuleChange: {
        type: BooleanConstructor;
        default: boolean;
    };
    scrollToFirstError: {
        default: boolean | Options;
        type: PropType<boolean | Options>;
    };
    onSubmit: {
        type: PropType<(e: Event) => void>;
        default: (e: Event) => void;
    };
    name: StringConstructor;
    validateTrigger: {
        type: PropType<string | string[]>;
        default: string | string[];
    };
    size: {
        type: PropType<SizeType>;
        default: SizeType;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    onValuesChange: {
        type: PropType<((changedValues: any, values: any) => void) | undefined>;
        default: ((changedValues: any, values: any) => void) | undefined;
    };
    onFieldsChange: {
        type: PropType<((changedFields: FieldData[], allFields: FieldData[]) => void) | undefined>;
        default: ((changedFields: FieldData[], allFields: FieldData[]) => void) | undefined;
    };
    onFinish: {
        type: PropType<((values: any) => void) | undefined>;
        default: ((values: any) => void) | undefined;
    };
    onFinishFailed: {
        type: PropType<((errorInfo: ValidateErrorEntity<any>) => void) | undefined>;
        default: ((errorInfo: ValidateErrorEntity<any>) => void) | undefined;
    };
    onValidate: {
        type: PropType<((name: string | number | string[] | number[], status: boolean, errors: string[] | null) => void) | undefined>;
        default: ((name: string | number | string[] | number[], status: boolean, errors: string[] | null) => void) | undefined;
    };
}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<{
    layout: VueTypeDef<string>;
    labelCol: {
        type: PropType<Partial<ExtractPropTypes<{
            span: (StringConstructor | NumberConstructor)[];
            order: (StringConstructor | NumberConstructor)[];
            offset: (StringConstructor | NumberConstructor)[];
            push: (StringConstructor | NumberConstructor)[];
            pull: (StringConstructor | NumberConstructor)[];
            xs: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            sm: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            md: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            lg: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xxl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            prefixCls: StringConstructor;
            flex: (StringConstructor | NumberConstructor)[];
        }>> & HTMLAttributes>;
        default: Partial<ExtractPropTypes<{
            span: (StringConstructor | NumberConstructor)[];
            order: (StringConstructor | NumberConstructor)[];
            offset: (StringConstructor | NumberConstructor)[];
            push: (StringConstructor | NumberConstructor)[];
            pull: (StringConstructor | NumberConstructor)[];
            xs: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            sm: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            md: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            lg: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xxl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            prefixCls: StringConstructor;
            flex: (StringConstructor | NumberConstructor)[];
        }>> & HTMLAttributes;
    };
    wrapperCol: {
        type: PropType<Partial<ExtractPropTypes<{
            span: (StringConstructor | NumberConstructor)[];
            order: (StringConstructor | NumberConstructor)[];
            offset: (StringConstructor | NumberConstructor)[];
            push: (StringConstructor | NumberConstructor)[];
            pull: (StringConstructor | NumberConstructor)[];
            xs: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            sm: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            md: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            lg: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xxl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            prefixCls: StringConstructor;
            flex: (StringConstructor | NumberConstructor)[];
        }>> & HTMLAttributes>;
        default: Partial<ExtractPropTypes<{
            span: (StringConstructor | NumberConstructor)[];
            order: (StringConstructor | NumberConstructor)[];
            offset: (StringConstructor | NumberConstructor)[];
            push: (StringConstructor | NumberConstructor)[];
            pull: (StringConstructor | NumberConstructor)[];
            xs: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            sm: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            md: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            lg: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            xxl: {
                type: PropType<string | number | ColSize>;
                default: string | number | ColSize;
            };
            prefixCls: StringConstructor;
            flex: (StringConstructor | NumberConstructor)[];
        }>> & HTMLAttributes;
    };
    colon: {
        type: BooleanConstructor;
        default: boolean;
    };
    labelAlign: {
        type: PropType<FormLabelAlign>;
        default: FormLabelAlign;
    };
    labelWrap: {
        type: BooleanConstructor;
        default: boolean;
    };
    prefixCls: StringConstructor;
    requiredMark: {
        type: PropType<"" | RequiredMark>;
        default: "" | RequiredMark;
    };
    /** @deprecated Will warning in future branch. Pls use `requiredMark` instead. */
    hideRequiredMark: {
        type: BooleanConstructor;
        default: boolean;
    };
    model: VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    rules: {
        type: PropType<{
            [k: string]: RuleObject | RuleObject[];
        }>;
        default: {
            [k: string]: RuleObject | RuleObject[];
        };
    };
    validateMessages: {
        type: PropType<ValidateMessages>;
        default: ValidateMessages;
    };
    validateOnRuleChange: {
        type: BooleanConstructor;
        default: boolean;
    };
    scrollToFirstError: {
        default: boolean | Options;
        type: PropType<boolean | Options>;
    };
    onSubmit: {
        type: PropType<(e: Event) => void>;
        default: (e: Event) => void;
    };
    name: StringConstructor;
    validateTrigger: {
        type: PropType<string | string[]>;
        default: string | string[];
    };
    size: {
        type: PropType<SizeType>;
        default: SizeType;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    onValuesChange: {
        type: PropType<((changedValues: any, values: any) => void) | undefined>;
        default: ((changedValues: any, values: any) => void) | undefined;
    };
    onFieldsChange: {
        type: PropType<((changedFields: FieldData[], allFields: FieldData[]) => void) | undefined>;
        default: ((changedFields: FieldData[], allFields: FieldData[]) => void) | undefined;
    };
    onFinish: {
        type: PropType<((values: any) => void) | undefined>;
        default: ((values: any) => void) | undefined;
    };
    onFinishFailed: {
        type: PropType<((errorInfo: ValidateErrorEntity<any>) => void) | undefined>;
        default: ((errorInfo: ValidateErrorEntity<any>) => void) | undefined;
    };
    onValidate: {
        type: PropType<((name: string | number | string[] | number[], status: boolean, errors: string[] | null) => void) | undefined>;
        default: ((name: string | number | string[] | number[], status: boolean, errors: string[] | null) => void) | undefined;
    };
}>> & Readonly<{}>, {
    size: SizeType;
    disabled: boolean;
    validateTrigger: string | string[];
    onSubmit: (e: Event) => void;
    wrapperCol: Partial<ExtractPropTypes<{
        span: (StringConstructor | NumberConstructor)[];
        order: (StringConstructor | NumberConstructor)[];
        offset: (StringConstructor | NumberConstructor)[];
        push: (StringConstructor | NumberConstructor)[];
        pull: (StringConstructor | NumberConstructor)[];
        xs: {
            type: PropType<string | number | ColSize>;
            default: string | number | ColSize;
        };
        sm: {
            type: PropType<string | number | ColSize>;
            default: string | number | ColSize;
        };
        md: {
            type: PropType<string | number | ColSize>;
            default: string | number | ColSize;
        };
        lg: {
            type: PropType<string | number | ColSize>;
            default: string | number | ColSize;
        };
        xl: {
            type: PropType<string | number | ColSize>;
            default: string | number | ColSize;
        };
        xxl: {
            type: PropType<string | number | ColSize>;
            default: string | number | ColSize;
        };
        prefixCls: StringConstructor;
        flex: (StringConstructor | NumberConstructor)[];
    }>> & HTMLAttributes;
    labelCol: Partial<ExtractPropTypes<{
        span: (StringConstructor | NumberConstructor)[];
        order: (StringConstructor | NumberConstructor)[];
        offset: (StringConstructor | NumberConstructor)[];
        push: (StringConstructor | NumberConstructor)[];
        pull: (StringConstructor | NumberConstructor)[];
        xs: {
            type: PropType<string | number | ColSize>;
            default: string | number | ColSize;
        };
        sm: {
            type: PropType<string | number | ColSize>;
            default: string | number | ColSize;
        };
        md: {
            type: PropType<string | number | ColSize>;
            default: string | number | ColSize;
        };
        lg: {
            type: PropType<string | number | ColSize>;
            default: string | number | ColSize;
        };
        xl: {
            type: PropType<string | number | ColSize>;
            default: string | number | ColSize;
        };
        xxl: {
            type: PropType<string | number | ColSize>;
            default: string | number | ColSize;
        };
        prefixCls: StringConstructor;
        flex: (StringConstructor | NumberConstructor)[];
    }>> & HTMLAttributes;
    labelAlign: FormLabelAlign;
    colon: boolean;
    requiredMark: "" | RequiredMark;
    labelWrap: boolean;
    rules: {
        [k: string]: RuleObject | RuleObject[];
    };
    onFinish: ((values: any) => void) | undefined;
    onValidate: ((name: string | number | string[] | number[], status: boolean, errors: string[] | null) => void) | undefined;
    onValuesChange: ((changedValues: any, values: any) => void) | undefined;
    onFieldsChange: ((changedFields: FieldData[], allFields: FieldData[]) => void) | undefined;
    onFinishFailed: ((errorInfo: ValidateErrorEntity<any>) => void) | undefined;
    hideRequiredMark: boolean;
    model: {
        [key: string]: any;
    };
    validateMessages: ValidateMessages;
    validateOnRuleChange: boolean;
    scrollToFirstError: boolean | Options;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
declare const _default: typeof Form & {
    readonly Item: typeof FormItem;
    readonly useForm: typeof useForm;
};
export default _default;
