import { InternalNamePath, NamePath, ValidateOptions, FormLabelAlign, ValidateMessages, FieldData, ValidateErrorEntity } from '@aplus-frontend/antdv/es/form/interface';
import { Recordable } from '../type';
import { ApFormProps, UpdateModelOptimizeFn, WatchFunc, ApFormInternalInstance } from './interface';
import { CreateComponentPublicInstanceWithMixins, ExtractPropTypes, PropType, HTMLAttributes, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, DefineComponent } from 'vue';
import { VueTypeDef, VueTypeValidableDef } from '../../node_modules/vue-types';
import { ColSize } from '@aplus-frontend/antdv/es/grid';
import { RequiredMark } from '@aplus-frontend/antdv/es/form/Form';
import { RuleObject } from '@aplus-frontend/antdv/es/form';
import { Options } from '../../node_modules/scroll-into-view-if-needed';
import { SizeType } from '@aplus-frontend/antdv/es/button';
import { VueNode } from '@aplus-frontend/antdv/es/_util/type';
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        default?(_: {}): any;
        default?(_: {}): any;
    };
    refs: {
        formRef: CreateComponentPublicInstanceWithMixins<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;
            };
            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<any>;
                type: PropType<boolean | Options<any>>;
            };
            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: FieldData[], allFields: FieldData[]) => void>;
                default: (changedFields: FieldData[], allFields: FieldData[]) => void;
            };
            onFinish: {
                type: PropType<(values: any) => void>;
                default: (values: any) => void;
            };
            onFinishFailed: {
                type: PropType<(errorInfo: ValidateErrorEntity<any>) => void>;
                default: (errorInfo: ValidateErrorEntity<any>) => void;
            };
            onValidate: {
                type: PropType<(name: string | number | string[] | number[], status: boolean, errors: string[]) => void>;
                default: (name: string | number | string[] | number[], status: boolean, errors: string[]) => void;
            };
            variant: {
                type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
                default: "filled" | "outlined" | "borderless" | "underlined";
            };
        }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
            size: SizeType;
            onSubmit: (e: Event) => void;
            disabled: boolean;
            validateTrigger: string | string[];
            onValuesChange: (changedValues: any, values: any) => void;
            onFieldsChange: (changedFields: FieldData[], allFields: FieldData[]) => void;
            onFinish: (values: any) => void;
            onFinishFailed: (errorInfo: ValidateErrorEntity<any>) => void;
            onValidate: (name: string | number | string[] | number[], status: boolean, errors: string[]) => void;
            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;
            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;
            colon: boolean;
            labelAlign: FormLabelAlign;
            labelWrap: boolean;
            requiredMark: "" | RequiredMark;
            hideRequiredMark: boolean;
            model: {
                [key: string]: any;
            };
            rules: {
                [k: string]: RuleObject | RuleObject[];
            };
            validateMessages: ValidateMessages;
            validateOnRuleChange: boolean;
            scrollToFirstError: boolean | Options<any>;
            variant: "filled" | "outlined" | "borderless" | "underlined";
        }, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, 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;
            };
            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<any>;
                type: PropType<boolean | Options<any>>;
            };
            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: FieldData[], allFields: FieldData[]) => void>;
                default: (changedFields: FieldData[], allFields: FieldData[]) => void;
            };
            onFinish: {
                type: PropType<(values: any) => void>;
                default: (values: any) => void;
            };
            onFinishFailed: {
                type: PropType<(errorInfo: ValidateErrorEntity<any>) => void>;
                default: (errorInfo: ValidateErrorEntity<any>) => void;
            };
            onValidate: {
                type: PropType<(name: string | number | string[] | number[], status: boolean, errors: string[]) => void>;
                default: (name: string | number | string[] | number[], status: boolean, errors: string[]) => void;
            };
            variant: {
                type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
                default: "filled" | "outlined" | "borderless" | "underlined";
            };
        }>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
            size: SizeType;
            onSubmit: (e: Event) => void;
            disabled: boolean;
            validateTrigger: string | string[];
            onValuesChange: (changedValues: any, values: any) => void;
            onFieldsChange: (changedFields: FieldData[], allFields: FieldData[]) => void;
            onFinish: (values: any) => void;
            onFinishFailed: (errorInfo: ValidateErrorEntity<any>) => void;
            onValidate: (name: string | number | string[] | number[], status: boolean, errors: string[]) => void;
            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;
            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;
            colon: boolean;
            labelAlign: FormLabelAlign;
            labelWrap: boolean;
            requiredMark: "" | RequiredMark;
            hideRequiredMark: boolean;
            model: {
                [key: string]: any;
            };
            rules: {
                [k: string]: RuleObject | RuleObject[];
            };
            validateMessages: ValidateMessages;
            validateOnRuleChange: boolean;
            scrollToFirstError: boolean | Options<any>;
            variant: "filled" | "outlined" | "borderless" | "underlined";
        }> | null;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<ApFormProps, {
    setFieldsValue: (fields: Partial<any>) => void;
    setFieldValue: (name: NamePath, value: any, triggerChange?: boolean, optimizeFn?: UpdateModelOptimizeFn) => void;
    resetFields: () => Promise<void>;
    clearValidate: (name?: NamePath) => void;
    validateFields: (nameList?: NamePath[] | string, options?: ValidateOptions) => Promise<Partial<any>> | undefined;
    getFieldsValue: (nameList?: true | InternalNamePath[]) => Partial<any> | undefined;
    validate: (nameList?: NamePath[] | string, options?: ValidateOptions) => Promise<Partial<any>> | undefined;
    scrollToField: (name: NamePath, options?: any) => void;
    getInternalInstance: (mark: string) => ApFormInternalInstance | undefined;
    validateFieldsReturnTransformed: (nameList?: NamePath[] | string, options?: ValidateOptions) => Promise<Partial<any>> | undefined;
    getFieldsValueTransformed: (nameList?: true | InternalNamePath[]) => Partial<any> | undefined;
    registerWatch: (callback: WatchFunc, inner: boolean) => () => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ApFormProps> & Readonly<{}>, {
    layout: string;
    colon: boolean;
    labelAlign: FormLabelAlign;
    hideRequiredMark: boolean;
    validateOnRuleChange: boolean;
    validateTrigger: string | string[];
    syncToUrl: boolean | ((values: Recordable, type: "get" | "set") => Recordable);
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    formRef: CreateComponentPublicInstanceWithMixins<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;
        };
        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<any>;
            type: PropType<boolean | Options<any>>;
        };
        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: FieldData[], allFields: FieldData[]) => void>;
            default: (changedFields: FieldData[], allFields: FieldData[]) => void;
        };
        onFinish: {
            type: PropType<(values: any) => void>;
            default: (values: any) => void;
        };
        onFinishFailed: {
            type: PropType<(errorInfo: ValidateErrorEntity<any>) => void>;
            default: (errorInfo: ValidateErrorEntity<any>) => void;
        };
        onValidate: {
            type: PropType<(name: string | number | string[] | number[], status: boolean, errors: string[]) => void>;
            default: (name: string | number | string[] | number[], status: boolean, errors: string[]) => void;
        };
        variant: {
            type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
            default: "filled" | "outlined" | "borderless" | "underlined";
        };
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
        size: SizeType;
        onSubmit: (e: Event) => void;
        disabled: boolean;
        validateTrigger: string | string[];
        onValuesChange: (changedValues: any, values: any) => void;
        onFieldsChange: (changedFields: FieldData[], allFields: FieldData[]) => void;
        onFinish: (values: any) => void;
        onFinishFailed: (errorInfo: ValidateErrorEntity<any>) => void;
        onValidate: (name: string | number | string[] | number[], status: boolean, errors: string[]) => void;
        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;
        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;
        colon: boolean;
        labelAlign: FormLabelAlign;
        labelWrap: boolean;
        requiredMark: "" | RequiredMark;
        hideRequiredMark: boolean;
        model: {
            [key: string]: any;
        };
        rules: {
            [k: string]: RuleObject | RuleObject[];
        };
        validateMessages: ValidateMessages;
        validateOnRuleChange: boolean;
        scrollToFirstError: boolean | Options<any>;
        variant: "filled" | "outlined" | "borderless" | "underlined";
    }, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, 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;
        };
        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<any>;
            type: PropType<boolean | Options<any>>;
        };
        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: FieldData[], allFields: FieldData[]) => void>;
            default: (changedFields: FieldData[], allFields: FieldData[]) => void;
        };
        onFinish: {
            type: PropType<(values: any) => void>;
            default: (values: any) => void;
        };
        onFinishFailed: {
            type: PropType<(errorInfo: ValidateErrorEntity<any>) => void>;
            default: (errorInfo: ValidateErrorEntity<any>) => void;
        };
        onValidate: {
            type: PropType<(name: string | number | string[] | number[], status: boolean, errors: string[]) => void>;
            default: (name: string | number | string[] | number[], status: boolean, errors: string[]) => void;
        };
        variant: {
            type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
            default: "filled" | "outlined" | "borderless" | "underlined";
        };
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
        size: SizeType;
        onSubmit: (e: Event) => void;
        disabled: boolean;
        validateTrigger: string | string[];
        onValuesChange: (changedValues: any, values: any) => void;
        onFieldsChange: (changedFields: FieldData[], allFields: FieldData[]) => void;
        onFinish: (values: any) => void;
        onFinishFailed: (errorInfo: ValidateErrorEntity<any>) => void;
        onValidate: (name: string | number | string[] | number[], status: boolean, errors: string[]) => void;
        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;
        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;
        colon: boolean;
        labelAlign: FormLabelAlign;
        labelWrap: boolean;
        requiredMark: "" | RequiredMark;
        hideRequiredMark: boolean;
        model: {
            [key: string]: any;
        };
        rules: {
            [k: string]: RuleObject | RuleObject[];
        };
        validateMessages: ValidateMessages;
        validateOnRuleChange: boolean;
        scrollToFirstError: boolean | Options<any>;
        variant: "filled" | "outlined" | "borderless" | "underlined";
    }> | null;
}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
