import type { Options } from 'scroll-into-view-if-needed';
import type { ComponentPublicInstance, ExtractPropTypes, HTMLAttributes, PropType } from 'vue';
import type { ValidateMessages } from '@antdv/ui/es/locale';
import type { SizeType } from '@antdv/ui/es/types';
import type { FormExpose, FormItemExpose, FormLabelAlign, RequiredMark } from './interface';
export declare function formProps(): {
    layout: any;
    labelCol: {
        type: PropType<Partial<ExtractPropTypes<{
            span: (NumberConstructor | StringConstructor)[];
            order: (NumberConstructor | StringConstructor)[];
            offset: (NumberConstructor | StringConstructor)[];
            push: (NumberConstructor | StringConstructor)[];
            pull: (NumberConstructor | StringConstructor)[];
            xs: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            sm: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            md: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            lg: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            xl: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            xxl: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            prefixCls: StringConstructor;
            flex: (NumberConstructor | StringConstructor)[];
        }>> & HTMLAttributes>;
        default: Partial<ExtractPropTypes<{
            span: (NumberConstructor | StringConstructor)[];
            order: (NumberConstructor | StringConstructor)[];
            offset: (NumberConstructor | StringConstructor)[];
            push: (NumberConstructor | StringConstructor)[];
            pull: (NumberConstructor | StringConstructor)[];
            xs: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            sm: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            md: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            lg: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            xl: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            xxl: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            prefixCls: StringConstructor;
            flex: (NumberConstructor | StringConstructor)[];
        }>> & HTMLAttributes;
    };
    wrapperCol: {
        type: PropType<Partial<ExtractPropTypes<{
            span: (NumberConstructor | StringConstructor)[];
            order: (NumberConstructor | StringConstructor)[];
            offset: (NumberConstructor | StringConstructor)[];
            push: (NumberConstructor | StringConstructor)[];
            pull: (NumberConstructor | StringConstructor)[];
            xs: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            sm: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            md: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            lg: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            xl: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            xxl: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            prefixCls: StringConstructor;
            flex: (NumberConstructor | StringConstructor)[];
        }>> & HTMLAttributes>;
        default: Partial<ExtractPropTypes<{
            span: (NumberConstructor | StringConstructor)[];
            order: (NumberConstructor | StringConstructor)[];
            offset: (NumberConstructor | StringConstructor)[];
            push: (NumberConstructor | StringConstructor)[];
            pull: (NumberConstructor | StringConstructor)[];
            xs: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            sm: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            md: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            lg: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            xl: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            xxl: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            prefixCls: StringConstructor;
            flex: (NumberConstructor | StringConstructor)[];
        }>> & 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: any;
    rules: {
        type: PropType<{
            [k: string]: import("./interface").RuleObject | import("./interface").RuleObject[];
        }>;
        default: {
            [k: string]: import("./interface").RuleObject | import("./interface").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>;
        default: (changedValues: any, values: any) => void;
    };
    onFieldsChange: {
        type: PropType<(changedFields: import("./interface").FieldData[], allFields: import("./interface").FieldData[]) => void>;
        default: (changedFields: import("./interface").FieldData[], allFields: import("./interface").FieldData[]) => void;
    };
    onFinish: {
        type: PropType<(values: any) => void>;
        default: (values: any) => void;
    };
    onFinishFailed: {
        type: PropType<(errorInfo: import("./interface").ValidateErrorEntity<any>) => void>;
        default: (errorInfo: import("./interface").ValidateErrorEntity<any>) => void;
    };
    onValidate: {
        type: PropType<(name: string | number | number[] | string[], status: boolean, errors: string[]) => void>;
        default: (name: string | number | number[] | string[], status: boolean, errors: string[]) => void;
    };
};
export declare function formItemProps(): {
    htmlFor: StringConstructor;
    prefixCls: StringConstructor;
    label: any;
    help: any;
    extra: any;
    labelCol: {
        type: PropType<Partial<ExtractPropTypes<{
            span: (NumberConstructor | StringConstructor)[];
            order: (NumberConstructor | StringConstructor)[];
            offset: (NumberConstructor | StringConstructor)[];
            push: (NumberConstructor | StringConstructor)[];
            pull: (NumberConstructor | StringConstructor)[];
            xs: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            sm: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            md: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            lg: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            xl: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            xxl: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            prefixCls: StringConstructor;
            flex: (NumberConstructor | StringConstructor)[];
        }>> & HTMLAttributes>;
    };
    wrapperCol: {
        type: PropType<Partial<ExtractPropTypes<{
            span: (NumberConstructor | StringConstructor)[];
            order: (NumberConstructor | StringConstructor)[];
            offset: (NumberConstructor | StringConstructor)[];
            push: (NumberConstructor | StringConstructor)[];
            pull: (NumberConstructor | StringConstructor)[];
            xs: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            sm: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            md: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            lg: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            xl: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            xxl: {
                type: PropType<string | number | import("../../grid/").ColSize>;
                default: string | number | import("../../grid/").ColSize;
            };
            prefixCls: StringConstructor;
            flex: (NumberConstructor | StringConstructor)[];
        }>> & HTMLAttributes>;
    };
    hasFeedback: {
        type: BooleanConstructor;
        default: boolean;
    };
    colon: {
        type: BooleanConstructor;
        default: any;
    };
    labelAlign: PropType<FormLabelAlign>;
    prop: {
        type: PropType<string | number | (string | number)[]>;
    };
    name: {
        type: PropType<string | number | (string | number)[]>;
    };
    rules: PropType<import("./interface").RuleObject | import("./interface").RuleObject[]>;
    autoLink: {
        type: BooleanConstructor;
        default: boolean;
    };
    required: {
        type: BooleanConstructor;
        default: any;
    };
    validateFirst: {
        type: BooleanConstructor;
        default: any;
    };
    validateStatus: any;
    validateTrigger: {
        type: PropType<string | string[]>;
    };
    messageVariables: {
        type: PropType<Record<string, string>>;
    };
    hidden: BooleanConstructor;
    noStyle: BooleanConstructor;
    tooltip: StringConstructor;
};
export type FormItemProps = Partial<ExtractPropTypes<ReturnType<typeof formItemProps>>>;
export type FormProps = Partial<ExtractPropTypes<ReturnType<typeof formProps>>>;
export type FormInstance = ComponentPublicInstance<FormProps, FormExpose>;
export type FormItemInstance = ComponentPublicInstance<FormItemProps, FormItemExpose>;
