export declare const Textarea: {
    new (...args: any[]): {
        $: import('vue').ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            disabled: boolean;
            error: boolean;
            allowClear: boolean;
            defaultValue: string;
            maxLength: number | {
                length: number;
                errorOnly?: boolean | undefined;
            };
            showWordLimit: boolean;
            autoSize: boolean | {
                minRows?: number | undefined;
                maxRows?: number | undefined;
            };
        }> & Omit<Readonly<{
            modelValue?: unknown;
            defaultValue?: unknown;
            placeholder?: unknown;
            disabled?: unknown;
            error?: unknown;
            maxLength?: unknown;
            showWordLimit?: unknown;
            allowClear?: unknown;
            autoSize?: unknown;
            wordLength?: unknown;
            wordSlice?: unknown;
            textareaAttrs?: unknown;
        } & {
            disabled: boolean;
            error: boolean;
            allowClear: boolean;
            defaultValue: string;
            maxLength: number | {
                length: number;
                errorOnly?: boolean | undefined;
            };
            showWordLimit: boolean;
            autoSize: boolean | {
                minRows?: number | undefined;
                maxRows?: number | undefined;
            };
        } & {
            placeholder?: string | undefined;
            modelValue?: string | undefined;
            wordLength?: ((value: string) => number) | undefined;
            wordSlice?: ((value: string, maxLength: number) => string) | undefined;
            textareaAttrs?: Record<string, any> | undefined;
        }> & {
            onFocus?: ((ev: FocusEvent) => any) | undefined;
            onBlur?: ((ev: FocusEvent) => any) | undefined;
            onChange?: ((value: string, ev: Event) => any) | undefined;
            onInput?: ((value: string, ev: Event) => any) | undefined;
            onClear?: ((ev: MouseEvent) => any) | undefined;
            "onUpdate:modelValue"?: ((value: string) => any) | undefined;
        } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "disabled" | "error" | "allowClear" | "defaultValue" | "maxLength" | "showWordLimit" | "autoSize">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import('vue').Slot | undefined;
        }>;
        $root: import('vue').ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import('vue').ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
        $parent: import('vue').ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import('vue').ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
        $emit: ((event: "focus", ev: FocusEvent) => void) & ((event: "clear", ev: MouseEvent) => void) & ((event: "input", value: string, ev: Event) => void) & ((event: "change", value: string, ev: Event) => void) & ((event: "blur", ev: FocusEvent) => void) & ((event: "update:modelValue", value: string) => void);
        $el: any;
        $options: import('vue').ComponentOptionsBase<Readonly<{
            modelValue?: unknown;
            defaultValue?: unknown;
            placeholder?: unknown;
            disabled?: unknown;
            error?: unknown;
            maxLength?: unknown;
            showWordLimit?: unknown;
            allowClear?: unknown;
            autoSize?: unknown;
            wordLength?: unknown;
            wordSlice?: unknown;
            textareaAttrs?: unknown;
        } & {
            disabled: boolean;
            error: boolean;
            allowClear: boolean;
            defaultValue: string;
            maxLength: number | {
                length: number;
                errorOnly?: boolean | undefined;
            };
            showWordLimit: boolean;
            autoSize: boolean | {
                minRows?: number | undefined;
                maxRows?: number | undefined;
            };
        } & {
            placeholder?: string | undefined;
            modelValue?: string | undefined;
            wordLength?: ((value: string) => number) | undefined;
            wordSlice?: ((value: string, maxLength: number) => string) | undefined;
            textareaAttrs?: Record<string, any> | undefined;
        }> & {
            onFocus?: ((ev: FocusEvent) => any) | undefined;
            onBlur?: ((ev: FocusEvent) => any) | undefined;
            onChange?: ((value: string, ev: Event) => any) | undefined;
            onInput?: ((value: string, ev: Event) => any) | undefined;
            onClear?: ((ev: MouseEvent) => any) | undefined;
            "onUpdate:modelValue"?: ((value: string) => any) | undefined;
        }, {
            prefixCls: string;
            wrapperCls: import('vue').ComputedRef<(string | {
                [x: string]: boolean;
            })[]>;
            textareaRef: import('vue').Ref<HTMLInputElement | undefined>;
            textareaStyle: import('vue').Ref<import('vue').CSSProperties | undefined>;
            mirrorRef: import('vue').Ref<HTMLInputElement | undefined>;
            mirrorStyle: import('vue').Ref<import('vue').CSSProperties | undefined>;
            computedValue: import('vue').ComputedRef<string>;
            showClearBtn: import('vue').ComputedRef<string | false>;
            valueLength: import('vue').ComputedRef<number>;
            computedMaxLength: import('vue').ComputedRef<number>;
            mergedDisabled: import('vue').ComputedRef<boolean>;
            mergeTextareaAttrs: import('vue').ComputedRef<{
                [x: string]: any;
            }>;
            getWrapperAttrs: (attr: Record<string, any>) => Omit<{
                [x: string]: unknown;
            }, string>;
            getTextareaAttrs: (attr: Record<string, any>) => Pick<{
                [x: string]: unknown;
            }, string>;
            handleInput: (e: InputEvent) => void;
            handleFocus: (ev: FocusEvent) => void;
            handleBlur: (ev: FocusEvent) => void;
            handleComposition: (e: CompositionEvent) => void;
            handleClear: (ev: MouseEvent) => void;
            handleResize: () => void;
            handleMousedown: (e: MouseEvent) => void;
        }, unknown, {}, {
            focus(): void;
            blur(): void;
        }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
            "update:modelValue": (value: string) => true;
            input: (value: string, ev: Event) => true;
            change: (value: string, ev: Event) => true;
            clear: (ev: MouseEvent) => true;
            focus: (ev: FocusEvent) => true;
            blur: (ev: FocusEvent) => true;
        }, string, {
            disabled: boolean;
            error: boolean;
            allowClear: boolean;
            defaultValue: string;
            maxLength: number | {
                length: number;
                errorOnly?: boolean | undefined;
            };
            showWordLimit: boolean;
            autoSize: boolean | {
                minRows?: number | undefined;
                maxRows?: number | undefined;
            };
        }> & {
            beforeCreate?: ((() => void) | (() => void)[]) | undefined;
            created?: ((() => void) | (() => void)[]) | undefined;
            beforeMount?: ((() => void) | (() => void)[]) | undefined;
            mounted?: ((() => void) | (() => void)[]) | undefined;
            beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
            updated?: ((() => void) | (() => void)[]) | undefined;
            activated?: ((() => void) | (() => void)[]) | undefined;
            deactivated?: ((() => void) | (() => void)[]) | undefined;
            beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
            beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
            destroyed?: ((() => void) | (() => void)[]) | undefined;
            unmounted?: ((() => void) | (() => void)[]) | undefined;
            renderTracked?: (((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]) | undefined;
            renderTriggered?: (((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]) | undefined;
            errorCaptured?: (((err: unknown, instance: import('vue').ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import('vue').ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import('vue').ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void)[]) | undefined;
        };
        $forceUpdate: () => void;
        $nextTick: typeof import('vue').nextTick;
        $watch(source: string | Function, cb: Function, options?: import('vue').WatchOptions<boolean> | undefined): import('vue').WatchStopHandle;
    } & Readonly<{
        modelValue?: unknown;
        defaultValue?: unknown;
        placeholder?: unknown;
        disabled?: unknown;
        error?: unknown;
        maxLength?: unknown;
        showWordLimit?: unknown;
        allowClear?: unknown;
        autoSize?: unknown;
        wordLength?: unknown;
        wordSlice?: unknown;
        textareaAttrs?: unknown;
    } & {
        disabled: boolean;
        error: boolean;
        allowClear: boolean;
        defaultValue: string;
        maxLength: number | {
            length: number;
            errorOnly?: boolean | undefined;
        };
        showWordLimit: boolean;
        autoSize: boolean | {
            minRows?: number | undefined;
            maxRows?: number | undefined;
        };
    } & {
        placeholder?: string | undefined;
        modelValue?: string | undefined;
        wordLength?: ((value: string) => number) | undefined;
        wordSlice?: ((value: string, maxLength: number) => string) | undefined;
        textareaAttrs?: Record<string, any> | undefined;
    }> & {
        onFocus?: ((ev: FocusEvent) => any) | undefined;
        onBlur?: ((ev: FocusEvent) => any) | undefined;
        onChange?: ((value: string, ev: Event) => any) | undefined;
        onInput?: ((value: string, ev: Event) => any) | undefined;
        onClear?: ((ev: MouseEvent) => any) | undefined;
        "onUpdate:modelValue"?: ((value: string) => any) | undefined;
    } & import('vue').ShallowUnwrapRef<{
        prefixCls: string;
        wrapperCls: import('vue').ComputedRef<(string | {
            [x: string]: boolean;
        })[]>;
        textareaRef: import('vue').Ref<HTMLInputElement | undefined>;
        textareaStyle: import('vue').Ref<import('vue').CSSProperties | undefined>;
        mirrorRef: import('vue').Ref<HTMLInputElement | undefined>;
        mirrorStyle: import('vue').Ref<import('vue').CSSProperties | undefined>;
        computedValue: import('vue').ComputedRef<string>;
        showClearBtn: import('vue').ComputedRef<string | false>;
        valueLength: import('vue').ComputedRef<number>;
        computedMaxLength: import('vue').ComputedRef<number>;
        mergedDisabled: import('vue').ComputedRef<boolean>;
        mergeTextareaAttrs: import('vue').ComputedRef<{
            [x: string]: any;
        }>;
        getWrapperAttrs: (attr: Record<string, any>) => Omit<{
            [x: string]: unknown;
        }, string>;
        getTextareaAttrs: (attr: Record<string, any>) => Pick<{
            [x: string]: unknown;
        }, string>;
        handleInput: (e: InputEvent) => void;
        handleFocus: (ev: FocusEvent) => void;
        handleBlur: (ev: FocusEvent) => void;
        handleComposition: (e: CompositionEvent) => void;
        handleClear: (ev: MouseEvent) => void;
        handleResize: () => void;
        handleMousedown: (e: MouseEvent) => void;
    }> & {} & {} & {
        focus(): void;
        blur(): void;
    } & import('vue').ComponentCustomProperties;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import('vue').ComponentOptionsBase<Readonly<{
    modelValue?: unknown;
    defaultValue?: unknown;
    placeholder?: unknown;
    disabled?: unknown;
    error?: unknown;
    maxLength?: unknown;
    showWordLimit?: unknown;
    allowClear?: unknown;
    autoSize?: unknown;
    wordLength?: unknown;
    wordSlice?: unknown;
    textareaAttrs?: unknown;
} & {
    disabled: boolean;
    error: boolean;
    allowClear: boolean;
    defaultValue: string;
    maxLength: number | {
        length: number;
        errorOnly?: boolean | undefined;
    };
    showWordLimit: boolean;
    autoSize: boolean | {
        minRows?: number | undefined;
        maxRows?: number | undefined;
    };
} & {
    placeholder?: string | undefined;
    modelValue?: string | undefined;
    wordLength?: ((value: string) => number) | undefined;
    wordSlice?: ((value: string, maxLength: number) => string) | undefined;
    textareaAttrs?: Record<string, any> | undefined;
}> & {
    onFocus?: ((ev: FocusEvent) => any) | undefined;
    onBlur?: ((ev: FocusEvent) => any) | undefined;
    onChange?: ((value: string, ev: Event) => any) | undefined;
    onInput?: ((value: string, ev: Event) => any) | undefined;
    onClear?: ((ev: MouseEvent) => any) | undefined;
    "onUpdate:modelValue"?: ((value: string) => any) | undefined;
}, {
    prefixCls: string;
    wrapperCls: import('vue').ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    textareaRef: import('vue').Ref<HTMLInputElement | undefined>;
    textareaStyle: import('vue').Ref<import('vue').CSSProperties | undefined>;
    mirrorRef: import('vue').Ref<HTMLInputElement | undefined>;
    mirrorStyle: import('vue').Ref<import('vue').CSSProperties | undefined>;
    computedValue: import('vue').ComputedRef<string>;
    showClearBtn: import('vue').ComputedRef<string | false>;
    valueLength: import('vue').ComputedRef<number>;
    computedMaxLength: import('vue').ComputedRef<number>;
    mergedDisabled: import('vue').ComputedRef<boolean>;
    mergeTextareaAttrs: import('vue').ComputedRef<{
        [x: string]: any;
    }>;
    getWrapperAttrs: (attr: Record<string, any>) => Omit<{
        [x: string]: unknown;
    }, string>;
    getTextareaAttrs: (attr: Record<string, any>) => Pick<{
        [x: string]: unknown;
    }, string>;
    handleInput: (e: InputEvent) => void;
    handleFocus: (ev: FocusEvent) => void;
    handleBlur: (ev: FocusEvent) => void;
    handleComposition: (e: CompositionEvent) => void;
    handleClear: (ev: MouseEvent) => void;
    handleResize: () => void;
    handleMousedown: (e: MouseEvent) => void;
}, unknown, {}, {
    focus(): void;
    blur(): void;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    'update:modelValue': (value: string) => true;
    input: (value: string, ev: Event) => true;
    change: (value: string, ev: Event) => true;
    clear: (ev: MouseEvent) => true;
    focus: (ev: FocusEvent) => true;
    blur: (ev: FocusEvent) => true;
}, string, {
    disabled: boolean;
    error: boolean;
    allowClear: boolean;
    defaultValue: string;
    maxLength: number | {
        length: number;
        errorOnly?: boolean | undefined;
    };
    showWordLimit: boolean;
    autoSize: boolean | {
        minRows?: number | undefined;
        maxRows?: number | undefined;
    };
}, {}, string, {}, {}, {}, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & {
    install: (app: import('vue').App, options?: import('@tuoyuan/arco/es/_utils/types').ArcoOptions | undefined) => void;
};
export default Textarea;
