import { InternalNamePath, NamePath, ValidateOptions, FormLabelAlign, ValidateMessages, FieldData, ValidateErrorEntity } from '@aplus-frontend/antdv/es/form/interface';
import { VNode, ComponentInternalInstance, ExtractPropTypes, PropType, HTMLAttributes, VNodeProps, AllowedComponentProps, ComponentCustomProps, Attrs, CreateComponentPublicInstanceWithMixins, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, Slot, ComponentPublicInstance, ComponentOptionsBase, DebuggerEvent, nextTick, WatchOptions, WatchStopHandle, ComponentCustomProperties, DefineComponent, CSSProperties } from 'vue';
import { ApFormDrawerFormProps, CustomizeResizeType } from '../interface';
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 { Recordable } from '../../type';
import { VueTypeDef, VueTypeValidableDef } from '../../../node_modules/vue-types';
import { SizeType } from '@aplus-frontend/antdv/es/button';
import { VueNode } from '@aplus-frontend/antdv/es/_util/type';
import { ApFormProps, UpdateModelOptimizeFn, ApFormInternalInstance, WatchFunc, ApFormSubmitterConfig } from '..';
import { OnCleanup } from '@vue/reactivity';
import { MaskType, sizeType, PushState, DrawerResizableConfig } from '@aplus-frontend/antdv/es/drawer';
import { MouseEventHandler, KeyboardEventHandler } from '@aplus-frontend/antdv/es/_util/EventInterface';
type ApDrawerFormSlots = {
    trigger: any;
    default: any;
    title: any;
    submitter(defaultDoms: VNode[]): any;
};
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Readonly<ApDrawerFormSlots> & ApDrawerFormSlots;
    refs: {
        formRef: ({
            $: ComponentInternalInstance;
            $data: {};
            $props: {
                readonly size?: "small" | "middle" | "large" | undefined;
                readonly onSubmit?: ((e: Event) => void) | undefined;
                readonly layout?: string | undefined;
                readonly disabled?: boolean | undefined;
                readonly prefixCls?: string | undefined;
                readonly variant?: "filled" | "outlined" | "borderless" | "underlined" | undefined;
                readonly name?: string | undefined;
                readonly 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) | undefined;
                readonly 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) | undefined;
                readonly colon?: boolean | undefined;
                readonly labelAlign?: FormLabelAlign | undefined;
                readonly labelWrap?: boolean | undefined;
                readonly requiredMark?: "" | RequiredMark | undefined;
                readonly hideRequiredMark?: boolean | undefined;
                readonly rules?: {
                    [k: string]: RuleObject | RuleObject[];
                } | undefined;
                readonly validateMessages?: ValidateMessages | undefined;
                readonly validateOnRuleChange?: boolean | undefined;
                readonly scrollToFirstError?: boolean | Options<any> | undefined;
                readonly validateTrigger?: string | string[] | undefined;
                readonly onFieldsChange?: ((changedFields: FieldData[], allFields: FieldData[]) => void) | undefined;
                readonly onFinish?: ((values: any) => void) | undefined;
                readonly onFinishFailed?: ((errorInfo: ValidateErrorEntity<any>) => void) | undefined;
                readonly onValidate?: ((name: string | number | string[] | number[], status: boolean, errors: string[]) => void) | undefined;
                readonly initialValues?: Recordable | undefined;
                readonly onValuesChange?: ((changedValues: Recordable, allValues: Recordable, fieldName: NamePath) => void) | undefined;
                readonly syncToUrl?: boolean | ((values: Recordable, type: "get" | "set") => Recordable) | undefined;
                readonly syncToUrlPriority?: boolean | undefined;
                readonly autoFocusFirstInput?: boolean | undefined;
            } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
            $attrs: Attrs;
            $refs: {
                [x: string]: unknown;
            } & {
                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;
            };
            $slots: Readonly<{
                [name: string]: Slot<any> | undefined;
            }>;
            $root: ComponentPublicInstance | null;
            $parent: ComponentPublicInstance | null;
            $host: Element | null;
            $emit: (event: string, ...args: any[]) => void;
            $el: any;
            $options: ComponentOptionsBase<Readonly< ApFormProps> & Readonly<{}>, {
                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, {
                layout: string;
                colon: boolean;
                labelAlign: FormLabelAlign;
                hideRequiredMark: boolean;
                validateOnRuleChange: boolean;
                validateTrigger: string | string[];
                syncToUrl: boolean | ((values: Recordable, type: "get" | "set") => Recordable);
            }, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & {
                beforeCreate?: (() => void) | (() => void)[];
                created?: (() => void) | (() => void)[];
                beforeMount?: (() => void) | (() => void)[];
                mounted?: (() => void) | (() => void)[];
                beforeUpdate?: (() => void) | (() => void)[];
                updated?: (() => void) | (() => void)[];
                activated?: (() => void) | (() => void)[];
                deactivated?: (() => void) | (() => void)[];
                beforeDestroy?: (() => void) | (() => void)[];
                beforeUnmount?: (() => void) | (() => void)[];
                destroyed?: (() => void) | (() => void)[];
                unmounted?: (() => void) | (() => void)[];
                renderTracked?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
                renderTriggered?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
                errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[];
            };
            $forceUpdate: () => void;
            $nextTick: nextTick;
            $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, OnCleanup]) => any : (...args: [any, any, OnCleanup]) => any, options?: WatchOptions): WatchStopHandle;
        } & Readonly<{
            layout: string;
            colon: boolean;
            labelAlign: FormLabelAlign;
            hideRequiredMark: boolean;
            validateOnRuleChange: boolean;
            validateTrigger: string | string[];
            syncToUrl: boolean | ((values: Recordable, type: "get" | "set") => Recordable);
        }> & Omit<Readonly< ApFormProps> & Readonly<{}>, "validate" | "getFieldsValue" | "setFieldsValue" | "setFieldValue" | "resetFields" | "clearValidate" | "validateFields" | "scrollToField" | "getInternalInstance" | "validateFieldsReturnTransformed" | "getFieldsValueTransformed" | "registerWatch" | ("layout" | "colon" | "labelAlign" | "hideRequiredMark" | "validateOnRuleChange" | "validateTrigger" | "syncToUrl")> & {
            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;
        } & {} & ComponentCustomProperties & {} & {
            $slots: {
                default?(_: {}): any;
                default?(_: {}): any;
            };
        }) | null;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<ApFormDrawerFormProps, {
    validate: (nameList?: NamePath[] | string, options?: ValidateOptions) => Promise<Partial<any>> | undefined;
    getFieldsValue: (nameList?: true | InternalNamePath[]) => Partial<any> | undefined;
    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;
    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;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    "update:open": (...args: any[]) => void;
}, string, PublicProps, Readonly<ApFormDrawerFormProps> & Readonly<{
    "onUpdate:open"?: ((...args: any[]) => any) | undefined;
}>, {
    width: string | number;
    resize: CustomizeResizeType | boolean;
    layout: string;
    open: boolean;
    colon: boolean;
    labelAlign: FormLabelAlign;
    hideRequiredMark: boolean;
    validateOnRuleChange: boolean;
    validateTrigger: string | string[];
    showCancel: boolean;
    drawerProps: Omit<Partial< ExtractPropTypes<{
        autofocus: {
            type: BooleanConstructor;
            default: any;
        };
        closable: {
            type: BooleanConstructor;
            default: any;
        };
        closeIcon: VueTypeValidableDef<any>;
        destroyOnClose: {
            type: BooleanConstructor;
            default: any;
        };
        forceRender: {
            type: BooleanConstructor;
            default: any;
        };
        getContainer: {
            type: PropType<string | false | HTMLElement | (() => HTMLElement)>;
            default: string | false | HTMLElement | (() => HTMLElement);
        };
        maskClosable: {
            type: BooleanConstructor;
            default: any;
        };
        mask: {
            type: PropType<MaskType>;
            default: MaskType;
        };
        maskStyle: {
            type: PropType<CSSProperties>;
            default: CSSProperties;
        };
        rootClassName: StringConstructor;
        rootStyle: {
            type: PropType<CSSProperties>;
            default: CSSProperties;
        };
        size: {
            type: PropType<sizeType>;
        };
        defaultSize: {
            type: PropType<sizeType>;
        };
        maxSize: NumberConstructor;
        minSize: NumberConstructor;
        drawerStyle: {
            type: PropType<CSSProperties>;
            default: CSSProperties;
        };
        headerStyle: {
            type: PropType<CSSProperties>;
            default: CSSProperties;
        };
        bodyStyle: {
            type: PropType<CSSProperties>;
            default: CSSProperties;
        };
        contentWrapperStyle: {
            type: PropType<CSSProperties>;
            default: CSSProperties;
        };
        title: VueTypeValidableDef<any>;
        visible: {
            type: BooleanConstructor;
            default: any;
        };
        open: {
            type: BooleanConstructor;
            default: any;
        };
        width: VueTypeDef<string | number>;
        height: VueTypeDef<string | number>;
        zIndex: NumberConstructor;
        prefixCls: StringConstructor;
        push: VueTypeDef<boolean | PushState>;
        placement: VueTypeDef<"left" | "right" | "top" | "bottom">;
        keyboard: {
            type: BooleanConstructor;
            default: any;
        };
        extra: VueTypeValidableDef<any>;
        footer: VueTypeValidableDef<any>;
        footerStyle: {
            type: PropType<CSSProperties>;
            default: CSSProperties;
        };
        level: VueTypeValidableDef<any>;
        levelMove: {
            type: PropType<(number | [number, number]) | ((e: {
                target: HTMLElement;
                open: boolean;
            }) => number | [number, number])>;
        };
        handle: VueTypeValidableDef<any>;
        afterVisibleChange: PropType<(visible: boolean) => void>;
        onAfterVisibleChange: PropType<(visible: boolean) => void>;
        onAfterOpenChange: PropType<(open: boolean) => void>;
        'onUpdate:visible': PropType<(visible: boolean) => void>;
        'onUpdate:open': PropType<(open: boolean) => void>;
        onClose: PropType< MouseEventHandler | KeyboardEventHandler>;
        animate: {
            type: BooleanConstructor;
            default: boolean;
        };
        loading: {
            type: BooleanConstructor;
            default: boolean;
        };
        resizable: PropType<DrawerResizableConfig>;
    }>>, "open" | "onUpdate:open">;
    submitter: false | ApFormSubmitterConfig;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    formRef: ({
        $: ComponentInternalInstance;
        $data: {};
        $props: {
            readonly size?: "small" | "middle" | "large" | undefined;
            readonly onSubmit?: ((e: Event) => void) | undefined;
            readonly layout?: string | undefined;
            readonly disabled?: boolean | undefined;
            readonly prefixCls?: string | undefined;
            readonly variant?: "filled" | "outlined" | "borderless" | "underlined" | undefined;
            readonly name?: string | undefined;
            readonly 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) | undefined;
            readonly 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) | undefined;
            readonly colon?: boolean | undefined;
            readonly labelAlign?: FormLabelAlign | undefined;
            readonly labelWrap?: boolean | undefined;
            readonly requiredMark?: "" | RequiredMark | undefined;
            readonly hideRequiredMark?: boolean | undefined;
            readonly rules?: {
                [k: string]: RuleObject | RuleObject[];
            } | undefined;
            readonly validateMessages?: ValidateMessages | undefined;
            readonly validateOnRuleChange?: boolean | undefined;
            readonly scrollToFirstError?: boolean | Options<any> | undefined;
            readonly validateTrigger?: string | string[] | undefined;
            readonly onFieldsChange?: ((changedFields: FieldData[], allFields: FieldData[]) => void) | undefined;
            readonly onFinish?: ((values: any) => void) | undefined;
            readonly onFinishFailed?: ((errorInfo: ValidateErrorEntity<any>) => void) | undefined;
            readonly onValidate?: ((name: string | number | string[] | number[], status: boolean, errors: string[]) => void) | undefined;
            readonly initialValues?: Recordable | undefined;
            readonly onValuesChange?: ((changedValues: Recordable, allValues: Recordable, fieldName: NamePath) => void) | undefined;
            readonly syncToUrl?: boolean | ((values: Recordable, type: "get" | "set") => Recordable) | undefined;
            readonly syncToUrlPriority?: boolean | undefined;
            readonly autoFocusFirstInput?: boolean | undefined;
        } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
        $attrs: Attrs;
        $refs: {
            [x: string]: unknown;
        } & {
            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;
        };
        $slots: Readonly<{
            [name: string]: Slot<any> | undefined;
        }>;
        $root: ComponentPublicInstance | null;
        $parent: ComponentPublicInstance | null;
        $host: Element | null;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: ComponentOptionsBase<Readonly< ApFormProps> & Readonly<{}>, {
            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, {
            layout: string;
            colon: boolean;
            labelAlign: FormLabelAlign;
            hideRequiredMark: boolean;
            validateOnRuleChange: boolean;
            validateTrigger: string | string[];
            syncToUrl: boolean | ((values: Recordable, type: "get" | "set") => Recordable);
        }, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
            renderTriggered?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, OnCleanup]) => any : (...args: [any, any, OnCleanup]) => any, options?: WatchOptions): WatchStopHandle;
    } & Readonly<{
        layout: string;
        colon: boolean;
        labelAlign: FormLabelAlign;
        hideRequiredMark: boolean;
        validateOnRuleChange: boolean;
        validateTrigger: string | string[];
        syncToUrl: boolean | ((values: Recordable, type: "get" | "set") => Recordable);
    }> & Omit<Readonly< ApFormProps> & Readonly<{}>, "validate" | "getFieldsValue" | "setFieldsValue" | "setFieldValue" | "resetFields" | "clearValidate" | "validateFields" | "scrollToField" | "getInternalInstance" | "validateFieldsReturnTransformed" | "getFieldsValueTransformed" | "registerWatch" | ("layout" | "colon" | "labelAlign" | "hideRequiredMark" | "validateOnRuleChange" | "validateTrigger" | "syncToUrl")> & {
        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;
    } & {} & ComponentCustomProperties & {} & {
        $slots: {
            default?(_: {}): any;
            default?(_: {}): any;
        };
    }) | 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;
    };
};
