import { App } from 'vue';
declare const OTextarea: {
    new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
        size: {
            type: import('vue').PropType<import('..').SizeT>;
        };
        round: {
            type: import('vue').PropType<import('..').RoundT>;
        };
        color: {
            type: import('vue').PropType<import('..').Color2T>;
            default: string;
        };
        variant: {
            type: import('vue').PropType<import('..').VariantT>;
            default: string;
        };
        modelValue: {
            type: StringConstructor;
        };
        defaultValue: {
            type: StringConstructor;
        };
        placeholder: {
            type: StringConstructor;
        };
        disabled: {
            type: BooleanConstructor;
        };
        readonly: {
            type: BooleanConstructor;
        };
        clearable: {
            type: BooleanConstructor;
        };
        format: {
            type: import('vue').PropType<(value: string) => string>;
        };
        validate: {
            type: import('vue').PropType<(value: string) => boolean>;
        };
        valueOnInvalidChange: {
            type: import('vue').PropType<(inputValue: string, lastValidInputValue: string) => string>;
        };
        rows: {
            type: NumberConstructor;
            default: undefined;
        };
        cols: {
            type: NumberConstructor;
            default: undefined;
        };
        resize: {
            type: import('vue').PropType<import('../_components/in-textarea').TextareaResizeT>;
            default: string;
        };
        minLength: {
            type: NumberConstructor;
        };
        maxLength: {
            type: NumberConstructor;
        };
        getLength: {
            type: import('vue').PropType<(val: string) => number>;
        };
        inputOnOutlimit: {
            type: BooleanConstructor;
            default: boolean;
        };
        autoSize: {
            type: BooleanConstructor;
        };
        textareaId: {
            type: StringConstructor;
        };
        scrollbar: {
            type: import('vue').PropType<boolean | Partial<import('..').BaseScrollerPropsT>>;
            default: boolean;
        };
    }>> & Readonly<{
        onInput?: ((evt: Event) => any) | undefined;
        onClear?: ((evt?: Event | undefined) => any) | undefined;
        onBlur?: ((evt: FocusEvent) => any) | undefined;
        onChange?: ((value: string) => any) | undefined;
        onFocus?: ((evt: FocusEvent) => any) | undefined;
        "onUpdate:modelValue"?: ((value: string) => any) | undefined;
    }>, {
        focus: () => void | undefined;
        blur: () => void | undefined;
        clear: () => void | undefined;
        inputEl: () => HTMLInputElement | undefined;
    }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
        input: (evt: Event) => any;
        clear: (evt?: Event | undefined) => any;
        blur: (evt: FocusEvent) => any;
        change: (value: string) => any;
        focus: (evt: FocusEvent) => any;
        "update:modelValue": (value: string) => any;
    }, import('vue').PublicProps, {
        color: "normal" | "primary" | "success" | "warning" | "danger";
        resize: "h" | "v" | "none" | "both" | "horizontal" | "vertical";
        disabled: boolean;
        scrollbar: boolean | Partial<import('..').BaseScrollerPropsT>;
        variant: "solid" | "outline" | "text";
        clearable: boolean;
        readonly: boolean;
        inputOnOutlimit: boolean;
        rows: number;
        cols: number;
        autoSize: boolean;
    }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import('vue').ExtractPropTypes<{
        size: {
            type: import('vue').PropType<import('..').SizeT>;
        };
        round: {
            type: import('vue').PropType<import('..').RoundT>;
        };
        color: {
            type: import('vue').PropType<import('..').Color2T>;
            default: string;
        };
        variant: {
            type: import('vue').PropType<import('..').VariantT>;
            default: string;
        };
        modelValue: {
            type: StringConstructor;
        };
        defaultValue: {
            type: StringConstructor;
        };
        placeholder: {
            type: StringConstructor;
        };
        disabled: {
            type: BooleanConstructor;
        };
        readonly: {
            type: BooleanConstructor;
        };
        clearable: {
            type: BooleanConstructor;
        };
        format: {
            type: import('vue').PropType<(value: string) => string>;
        };
        validate: {
            type: import('vue').PropType<(value: string) => boolean>;
        };
        valueOnInvalidChange: {
            type: import('vue').PropType<(inputValue: string, lastValidInputValue: string) => string>;
        };
        rows: {
            type: NumberConstructor;
            default: undefined;
        };
        cols: {
            type: NumberConstructor;
            default: undefined;
        };
        resize: {
            type: import('vue').PropType<import('../_components/in-textarea').TextareaResizeT>;
            default: string;
        };
        minLength: {
            type: NumberConstructor;
        };
        maxLength: {
            type: NumberConstructor;
        };
        getLength: {
            type: import('vue').PropType<(val: string) => number>;
        };
        inputOnOutlimit: {
            type: BooleanConstructor;
            default: boolean;
        };
        autoSize: {
            type: BooleanConstructor;
        };
        textareaId: {
            type: StringConstructor;
        };
        scrollbar: {
            type: import('vue').PropType<boolean | Partial<import('..').BaseScrollerPropsT>>;
            default: boolean;
        };
    }>> & Readonly<{
        onInput?: ((evt: Event) => any) | undefined;
        onClear?: ((evt?: Event | undefined) => any) | undefined;
        onBlur?: ((evt: FocusEvent) => any) | undefined;
        onChange?: ((value: string) => any) | undefined;
        onFocus?: ((evt: FocusEvent) => any) | undefined;
        "onUpdate:modelValue"?: ((value: string) => any) | undefined;
    }>, {
        focus: () => void | undefined;
        blur: () => void | undefined;
        clear: () => void | undefined;
        inputEl: () => HTMLInputElement | undefined;
    }, {}, {}, {}, {
        color: "normal" | "primary" | "success" | "warning" | "danger";
        resize: "h" | "v" | "none" | "both" | "horizontal" | "vertical";
        disabled: boolean;
        scrollbar: boolean | Partial<import('..').BaseScrollerPropsT>;
        variant: "solid" | "outline" | "text";
        clearable: boolean;
        readonly: boolean;
        inputOnOutlimit: boolean;
        rows: number;
        cols: number;
        autoSize: boolean;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
    size: {
        type: import('vue').PropType<import('..').SizeT>;
    };
    round: {
        type: import('vue').PropType<import('..').RoundT>;
    };
    color: {
        type: import('vue').PropType<import('..').Color2T>;
        default: string;
    };
    variant: {
        type: import('vue').PropType<import('..').VariantT>;
        default: string;
    };
    modelValue: {
        type: StringConstructor;
    };
    defaultValue: {
        type: StringConstructor;
    };
    placeholder: {
        type: StringConstructor;
    };
    disabled: {
        type: BooleanConstructor;
    };
    readonly: {
        type: BooleanConstructor;
    };
    clearable: {
        type: BooleanConstructor;
    };
    format: {
        type: import('vue').PropType<(value: string) => string>;
    };
    validate: {
        type: import('vue').PropType<(value: string) => boolean>;
    };
    valueOnInvalidChange: {
        type: import('vue').PropType<(inputValue: string, lastValidInputValue: string) => string>;
    };
    rows: {
        type: NumberConstructor;
        default: undefined;
    };
    cols: {
        type: NumberConstructor;
        default: undefined;
    };
    resize: {
        type: import('vue').PropType<import('../_components/in-textarea').TextareaResizeT>;
        default: string;
    };
    minLength: {
        type: NumberConstructor;
    };
    maxLength: {
        type: NumberConstructor;
    };
    getLength: {
        type: import('vue').PropType<(val: string) => number>;
    };
    inputOnOutlimit: {
        type: BooleanConstructor;
        default: boolean;
    };
    autoSize: {
        type: BooleanConstructor;
    };
    textareaId: {
        type: StringConstructor;
    };
    scrollbar: {
        type: import('vue').PropType<boolean | Partial<import('..').BaseScrollerPropsT>>;
        default: boolean;
    };
}>> & Readonly<{
    onInput?: ((evt: Event) => any) | undefined;
    onClear?: ((evt?: Event | undefined) => any) | undefined;
    onBlur?: ((evt: FocusEvent) => any) | undefined;
    onChange?: ((value: string) => any) | undefined;
    onFocus?: ((evt: FocusEvent) => any) | undefined;
    "onUpdate:modelValue"?: ((value: string) => any) | undefined;
}>, {
    focus: () => void | undefined;
    blur: () => void | undefined;
    clear: () => void | undefined;
    inputEl: () => HTMLInputElement | undefined;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    input: (evt: Event) => any;
    clear: (evt?: Event | undefined) => any;
    blur: (evt: FocusEvent) => any;
    change: (value: string) => any;
    focus: (evt: FocusEvent) => any;
    "update:modelValue": (value: string) => any;
}, string, {
    color: "normal" | "primary" | "success" | "warning" | "danger";
    resize: "h" | "v" | "none" | "both" | "horizontal" | "vertical";
    disabled: boolean;
    scrollbar: boolean | Partial<import('..').BaseScrollerPropsT>;
    variant: "solid" | "outline" | "text";
    clearable: boolean;
    readonly: boolean;
    inputOnOutlimit: boolean;
    rows: number;
    cols: number;
    autoSize: boolean;
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
    $slots: Readonly<{
        prepend(): any;
        append(): any;
        suffix(): any;
    }> & {
        prepend(): any;
        append(): any;
        suffix(): any;
    };
}) & {
    install(app: App): void;
};
export { OTextarea };
export * from './types';
