import { InputFocusOptions } from '@aplus-frontend/antdv/es/vc-input/utils/commonUtils';
import { ApFormItemSlots } from '../../interface';
import { ApFormItemTextAreaProps } from '../interface';
import { CreateComponentPublicInstanceWithMixins, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ExtractPropTypes, PropType, ComponentProvideOptions, DefineComponent } from 'vue';
import { ApFieldTextAreaProps, FieldMode } from '../../..';
import { AutoSizeType } from '@aplus-frontend/antdv/es/input/inputProps';
import { CompositionEventHandler, FocusEventHandler, ChangeEventHandler, KeyboardEventHandler, MouseEventHandler } from '@aplus-frontend/antdv/es/_util/EventInterface';
import { SizeType } from '@aplus-frontend/antdv/es/button';
import { ShowCountProps } from '@aplus-frontend/antdv/es/vc-input/inputProps';
import { VueTypeValidableDef } from '../../../../node_modules/vue-types';
import { VueNode } from '@aplus-frontend/antdv/es/_util/type';
type ApFormItemTextAreaSlots = Omit<ApFormItemSlots, 'default'>;
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Readonly<ApFormItemTextAreaSlots> & ApFormItemTextAreaSlots;
    refs: {
        textAreaRef: CreateComponentPublicInstanceWithMixins<Readonly< ApFieldTextAreaProps> & Readonly<{
            "onUpdate:value"?: ((...args: any[]) => any) | undefined;
        }>, {
            focus: (options?: InputFocusOptions) => void;
            blur: () => void;
            resizableTextArea: any;
        }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
            "update:value": (...args: any[]) => void;
        }, PublicProps, {
            type: "number" | "reset" | "submit" | "button" | "search" | "time" | "month" | "date" | "week" | "hidden" | "checkbox" | "radio" | "color" | "text" | "range" | "image" | "url" | "email" | "datetime-local" | "file" | "password" | "tel";
            code: boolean | {
                language?: "text" | "json";
            };
            mode: FieldMode;
            disabled: boolean;
            lazy: boolean;
            bordered: boolean;
            allowClear: boolean;
            emptyText: string;
        }, false, {}, {}, GlobalComponents, GlobalDirectives, string, {
            textAreaRef: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
                rows: NumberConstructor;
                autosize: {
                    type: PropType<boolean | AutoSizeType>;
                    default: any;
                };
                autoSize: {
                    type: PropType<boolean | AutoSizeType>;
                    default: any;
                };
                onResize: {
                    type: PropType<(size: {
                        width: number;
                        height: number;
                    }) => void>;
                };
                onCompositionstart: {
                    type: PropType< CompositionEventHandler | CompositionEventHandler[]>;
                };
                onCompositionend: {
                    type: PropType< CompositionEventHandler | CompositionEventHandler[]>;
                };
                valueModifiers: ObjectConstructor;
                size: {
                    type: PropType<SizeType>;
                };
                value: {
                    type: PropType<string | number>;
                    default: any;
                };
                name: StringConstructor;
                type: {
                    type: PropType<"number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel">;
                    default: "number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel";
                };
                onFocus: PropType<FocusEventHandler>;
                onBlur: PropType<FocusEventHandler>;
                onChange: PropType<ChangeEventHandler>;
                onInput: PropType<ChangeEventHandler>;
                onKeydown: PropType<KeyboardEventHandler>;
                onKeyup: PropType<KeyboardEventHandler>;
                onMousedown: {
                    type: PropType<MouseEventHandler>;
                    default: any;
                };
                focused: {
                    type: BooleanConstructor;
                    default: any;
                };
                hidden: {
                    type: BooleanConstructor;
                    default: any;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: any;
                };
                prefixCls: StringConstructor;
                id: StringConstructor;
                readonly: {
                    type: BooleanConstructor;
                    default: any;
                };
                autofocus: {
                    type: BooleanConstructor;
                    default: any;
                };
                variant: {
                    type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
                    default: "filled" | "outlined" | "borderless" | "underlined";
                };
                autocomplete: StringConstructor;
                placeholder: {
                    type: PropType<string | number>;
                };
                lazy: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                maxlength: NumberConstructor;
                loading: {
                    type: BooleanConstructor;
                    default: any;
                };
                bordered: {
                    type: BooleanConstructor;
                    default: any;
                };
                showCount: {
                    type: PropType<boolean | ShowCountProps>;
                };
                htmlSize: NumberConstructor;
                onPressEnter: PropType<KeyboardEventHandler>;
                onMouseUp: {
                    type: PropType<MouseEventHandler>;
                    default: any;
                };
                onRawInput: PropType<ChangeEventHandler>;
                'onUpdate:value': PropType<(val: string) => void>;
                status: PropType<"" | "error" | "warning">;
                defaultValue: {
                    type: PropType<string | number>;
                    default: any;
                };
                inputElement: VueTypeValidableDef<any>;
                triggerFocus: PropType<() => void>;
                handleReset: PropType<MouseEventHandler>;
                clearIcon: VueTypeValidableDef<any>;
                allowClear: {
                    type: BooleanConstructor;
                    default: any;
                };
            }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
                value: string | number;
                type: "number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel";
                onMousedown: MouseEventHandler;
                focused: boolean;
                hidden: boolean;
                disabled: boolean;
                readonly: boolean;
                autofocus: boolean;
                variant: "filled" | "outlined" | "borderless" | "underlined";
                lazy: boolean;
                loading: boolean;
                bordered: boolean;
                onMouseUp: MouseEventHandler;
                defaultValue: string | number;
                allowClear: boolean;
                autosize: any;
                autoSize: any;
            }, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly< ExtractPropTypes<{
                rows: NumberConstructor;
                autosize: {
                    type: PropType<boolean | AutoSizeType>;
                    default: any;
                };
                autoSize: {
                    type: PropType<boolean | AutoSizeType>;
                    default: any;
                };
                onResize: {
                    type: PropType<(size: {
                        width: number;
                        height: number;
                    }) => void>;
                };
                onCompositionstart: {
                    type: PropType< CompositionEventHandler | CompositionEventHandler[]>;
                };
                onCompositionend: {
                    type: PropType< CompositionEventHandler | CompositionEventHandler[]>;
                };
                valueModifiers: ObjectConstructor;
                size: {
                    type: PropType<SizeType>;
                };
                value: {
                    type: PropType<string | number>;
                    default: any;
                };
                name: StringConstructor;
                type: {
                    type: PropType<"number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel">;
                    default: "number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel";
                };
                onFocus: PropType<FocusEventHandler>;
                onBlur: PropType<FocusEventHandler>;
                onChange: PropType<ChangeEventHandler>;
                onInput: PropType<ChangeEventHandler>;
                onKeydown: PropType<KeyboardEventHandler>;
                onKeyup: PropType<KeyboardEventHandler>;
                onMousedown: {
                    type: PropType<MouseEventHandler>;
                    default: any;
                };
                focused: {
                    type: BooleanConstructor;
                    default: any;
                };
                hidden: {
                    type: BooleanConstructor;
                    default: any;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: any;
                };
                prefixCls: StringConstructor;
                id: StringConstructor;
                readonly: {
                    type: BooleanConstructor;
                    default: any;
                };
                autofocus: {
                    type: BooleanConstructor;
                    default: any;
                };
                variant: {
                    type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
                    default: "filled" | "outlined" | "borderless" | "underlined";
                };
                autocomplete: StringConstructor;
                placeholder: {
                    type: PropType<string | number>;
                };
                lazy: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                maxlength: NumberConstructor;
                loading: {
                    type: BooleanConstructor;
                    default: any;
                };
                bordered: {
                    type: BooleanConstructor;
                    default: any;
                };
                showCount: {
                    type: PropType<boolean | ShowCountProps>;
                };
                htmlSize: NumberConstructor;
                onPressEnter: PropType<KeyboardEventHandler>;
                onMouseUp: {
                    type: PropType<MouseEventHandler>;
                    default: any;
                };
                onRawInput: PropType<ChangeEventHandler>;
                'onUpdate:value': PropType<(val: string) => void>;
                status: PropType<"" | "error" | "warning">;
                defaultValue: {
                    type: PropType<string | number>;
                    default: any;
                };
                inputElement: VueTypeValidableDef<any>;
                triggerFocus: PropType<() => void>;
                handleReset: PropType<MouseEventHandler>;
                clearIcon: VueTypeValidableDef<any>;
                allowClear: {
                    type: BooleanConstructor;
                    default: any;
                };
            }>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
                value: string | number;
                type: "number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel";
                onMousedown: MouseEventHandler;
                focused: boolean;
                hidden: boolean;
                disabled: boolean;
                readonly: boolean;
                autofocus: boolean;
                variant: "filled" | "outlined" | "borderless" | "underlined";
                lazy: boolean;
                loading: boolean;
                bordered: boolean;
                onMouseUp: MouseEventHandler;
                defaultValue: string | number;
                allowClear: boolean;
                autosize: any;
                autoSize: any;
            }> | null;
        }, any, ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly< ApFieldTextAreaProps> & Readonly<{
            "onUpdate:value"?: ((...args: any[]) => any) | undefined;
        }>, {
            focus: (options?: InputFocusOptions) => void;
            blur: () => void;
            resizableTextArea: any;
        }, {}, {}, {}, {
            type: "number" | "reset" | "submit" | "button" | "search" | "time" | "month" | "date" | "week" | "hidden" | "checkbox" | "radio" | "color" | "text" | "range" | "image" | "url" | "email" | "datetime-local" | "file" | "password" | "tel";
            code: boolean | {
                language?: "text" | "json";
            };
            mode: FieldMode;
            disabled: boolean;
            lazy: boolean;
            bordered: boolean;
            allowClear: boolean;
            emptyText: string;
        }> | null;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<ApFormItemTextAreaProps, {
    focus: (options?: InputFocusOptions) => void;
    blur: () => void;
    resizableTextArea: any;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ApFormItemTextAreaProps> & Readonly<{}>, {
    disabled: boolean;
    required: boolean;
    colon: boolean;
    hasFeedback: boolean;
    autoLink: boolean;
    validateFirst: boolean;
    field: Omit< ApFieldTextAreaProps, "value" | "onUpdate:value">;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    textAreaRef: CreateComponentPublicInstanceWithMixins<Readonly< ApFieldTextAreaProps> & Readonly<{
        "onUpdate:value"?: ((...args: any[]) => any) | undefined;
    }>, {
        focus: (options?: InputFocusOptions) => void;
        blur: () => void;
        resizableTextArea: any;
    }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
        "update:value": (...args: any[]) => void;
    }, PublicProps, {
        type: "number" | "reset" | "submit" | "button" | "search" | "time" | "month" | "date" | "week" | "hidden" | "checkbox" | "radio" | "color" | "text" | "range" | "image" | "url" | "email" | "datetime-local" | "file" | "password" | "tel";
        code: boolean | {
            language?: "text" | "json";
        };
        mode: FieldMode;
        disabled: boolean;
        lazy: boolean;
        bordered: boolean;
        allowClear: boolean;
        emptyText: string;
    }, false, {}, {}, GlobalComponents, GlobalDirectives, string, {
        textAreaRef: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
            rows: NumberConstructor;
            autosize: {
                type: PropType<boolean | AutoSizeType>;
                default: any;
            };
            autoSize: {
                type: PropType<boolean | AutoSizeType>;
                default: any;
            };
            onResize: {
                type: PropType<(size: {
                    width: number;
                    height: number;
                }) => void>;
            };
            onCompositionstart: {
                type: PropType< CompositionEventHandler | CompositionEventHandler[]>;
            };
            onCompositionend: {
                type: PropType< CompositionEventHandler | CompositionEventHandler[]>;
            };
            valueModifiers: ObjectConstructor;
            size: {
                type: PropType<SizeType>;
            };
            value: {
                type: PropType<string | number>;
                default: any;
            };
            name: StringConstructor;
            type: {
                type: PropType<"number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel">;
                default: "number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel";
            };
            onFocus: PropType<FocusEventHandler>;
            onBlur: PropType<FocusEventHandler>;
            onChange: PropType<ChangeEventHandler>;
            onInput: PropType<ChangeEventHandler>;
            onKeydown: PropType<KeyboardEventHandler>;
            onKeyup: PropType<KeyboardEventHandler>;
            onMousedown: {
                type: PropType<MouseEventHandler>;
                default: any;
            };
            focused: {
                type: BooleanConstructor;
                default: any;
            };
            hidden: {
                type: BooleanConstructor;
                default: any;
            };
            disabled: {
                type: BooleanConstructor;
                default: any;
            };
            prefixCls: StringConstructor;
            id: StringConstructor;
            readonly: {
                type: BooleanConstructor;
                default: any;
            };
            autofocus: {
                type: BooleanConstructor;
                default: any;
            };
            variant: {
                type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
                default: "filled" | "outlined" | "borderless" | "underlined";
            };
            autocomplete: StringConstructor;
            placeholder: {
                type: PropType<string | number>;
            };
            lazy: {
                type: BooleanConstructor;
                default: boolean;
            };
            maxlength: NumberConstructor;
            loading: {
                type: BooleanConstructor;
                default: any;
            };
            bordered: {
                type: BooleanConstructor;
                default: any;
            };
            showCount: {
                type: PropType<boolean | ShowCountProps>;
            };
            htmlSize: NumberConstructor;
            onPressEnter: PropType<KeyboardEventHandler>;
            onMouseUp: {
                type: PropType<MouseEventHandler>;
                default: any;
            };
            onRawInput: PropType<ChangeEventHandler>;
            'onUpdate:value': PropType<(val: string) => void>;
            status: PropType<"" | "error" | "warning">;
            defaultValue: {
                type: PropType<string | number>;
                default: any;
            };
            inputElement: VueTypeValidableDef<any>;
            triggerFocus: PropType<() => void>;
            handleReset: PropType<MouseEventHandler>;
            clearIcon: VueTypeValidableDef<any>;
            allowClear: {
                type: BooleanConstructor;
                default: any;
            };
        }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
            value: string | number;
            type: "number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel";
            onMousedown: MouseEventHandler;
            focused: boolean;
            hidden: boolean;
            disabled: boolean;
            readonly: boolean;
            autofocus: boolean;
            variant: "filled" | "outlined" | "borderless" | "underlined";
            lazy: boolean;
            loading: boolean;
            bordered: boolean;
            onMouseUp: MouseEventHandler;
            defaultValue: string | number;
            allowClear: boolean;
            autosize: any;
            autoSize: any;
        }, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly< ExtractPropTypes<{
            rows: NumberConstructor;
            autosize: {
                type: PropType<boolean | AutoSizeType>;
                default: any;
            };
            autoSize: {
                type: PropType<boolean | AutoSizeType>;
                default: any;
            };
            onResize: {
                type: PropType<(size: {
                    width: number;
                    height: number;
                }) => void>;
            };
            onCompositionstart: {
                type: PropType< CompositionEventHandler | CompositionEventHandler[]>;
            };
            onCompositionend: {
                type: PropType< CompositionEventHandler | CompositionEventHandler[]>;
            };
            valueModifiers: ObjectConstructor;
            size: {
                type: PropType<SizeType>;
            };
            value: {
                type: PropType<string | number>;
                default: any;
            };
            name: StringConstructor;
            type: {
                type: PropType<"number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel">;
                default: "number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel";
            };
            onFocus: PropType<FocusEventHandler>;
            onBlur: PropType<FocusEventHandler>;
            onChange: PropType<ChangeEventHandler>;
            onInput: PropType<ChangeEventHandler>;
            onKeydown: PropType<KeyboardEventHandler>;
            onKeyup: PropType<KeyboardEventHandler>;
            onMousedown: {
                type: PropType<MouseEventHandler>;
                default: any;
            };
            focused: {
                type: BooleanConstructor;
                default: any;
            };
            hidden: {
                type: BooleanConstructor;
                default: any;
            };
            disabled: {
                type: BooleanConstructor;
                default: any;
            };
            prefixCls: StringConstructor;
            id: StringConstructor;
            readonly: {
                type: BooleanConstructor;
                default: any;
            };
            autofocus: {
                type: BooleanConstructor;
                default: any;
            };
            variant: {
                type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
                default: "filled" | "outlined" | "borderless" | "underlined";
            };
            autocomplete: StringConstructor;
            placeholder: {
                type: PropType<string | number>;
            };
            lazy: {
                type: BooleanConstructor;
                default: boolean;
            };
            maxlength: NumberConstructor;
            loading: {
                type: BooleanConstructor;
                default: any;
            };
            bordered: {
                type: BooleanConstructor;
                default: any;
            };
            showCount: {
                type: PropType<boolean | ShowCountProps>;
            };
            htmlSize: NumberConstructor;
            onPressEnter: PropType<KeyboardEventHandler>;
            onMouseUp: {
                type: PropType<MouseEventHandler>;
                default: any;
            };
            onRawInput: PropType<ChangeEventHandler>;
            'onUpdate:value': PropType<(val: string) => void>;
            status: PropType<"" | "error" | "warning">;
            defaultValue: {
                type: PropType<string | number>;
                default: any;
            };
            inputElement: VueTypeValidableDef<any>;
            triggerFocus: PropType<() => void>;
            handleReset: PropType<MouseEventHandler>;
            clearIcon: VueTypeValidableDef<any>;
            allowClear: {
                type: BooleanConstructor;
                default: any;
            };
        }>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
            value: string | number;
            type: "number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel";
            onMousedown: MouseEventHandler;
            focused: boolean;
            hidden: boolean;
            disabled: boolean;
            readonly: boolean;
            autofocus: boolean;
            variant: "filled" | "outlined" | "borderless" | "underlined";
            lazy: boolean;
            loading: boolean;
            bordered: boolean;
            onMouseUp: MouseEventHandler;
            defaultValue: string | number;
            allowClear: boolean;
            autosize: any;
            autoSize: any;
        }> | null;
    }, any, ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly< ApFieldTextAreaProps> & Readonly<{
        "onUpdate:value"?: ((...args: any[]) => any) | undefined;
    }>, {
        focus: (options?: InputFocusOptions) => void;
        blur: () => void;
        resizableTextArea: any;
    }, {}, {}, {}, {
        type: "number" | "reset" | "submit" | "button" | "search" | "time" | "month" | "date" | "week" | "hidden" | "checkbox" | "radio" | "color" | "text" | "range" | "image" | "url" | "email" | "datetime-local" | "file" | "password" | "tel";
        code: boolean | {
            language?: "text" | "json";
        };
        mode: FieldMode;
        disabled: boolean;
        lazy: boolean;
        bordered: boolean;
        allowClear: boolean;
        emptyText: string;
    }> | 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;
    };
};
