import type { StyleValue } from 'vue';
import type { InputProps } from './input';
declare var __VLS_1: {}, __VLS_3: {}, __VLS_15: {}, __VLS_66: {};
type __VLS_Slots = {} & {
    prepend?: (props: typeof __VLS_1) => any;
} & {
    prefix?: (props: typeof __VLS_3) => any;
} & {
    suffix?: (props: typeof __VLS_15) => any;
} & {
    append?: (props: typeof __VLS_66) => any;
};
declare const __VLS_base: import("vue").DefineComponent<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<InputProps>, {
    readonly disabled: undefined;
    readonly modelValue: "";
    readonly modelModifiers: () => {};
    readonly type: import("./input").InputType;
    readonly autocomplete: "off";
    readonly clearIcon: any;
    readonly wordLimitPosition: "inside";
    readonly tabindex: 0;
    readonly validateEvent: true;
    readonly inputStyle: () => {};
    readonly rows: 2;
}>, {
    /** @description HTML input element */
    input: import("vue").ShallowRef<HTMLInputElement | undefined>;
    /** @description HTML textarea element */
    textarea: import("vue").ShallowRef<HTMLTextAreaElement | undefined>;
    /** @description HTML element, input or textarea */
    ref: import("vue").ComputedRef<HTMLInputElement | HTMLTextAreaElement | undefined>;
    /** @description style of textarea. */
    textareaStyle: import("vue").ComputedRef<StyleValue>;
    /** @description from props (used on unit test) */
    autosize: import("vue").Ref<import("./input").InputAutoSize | undefined>;
    /** @description is input composing */
    isComposing: import("vue").Ref<boolean>;
    /** @description HTML input element native method */
    focus: () => void | undefined;
    /** @description HTML input element native method */
    blur: () => void | undefined;
    /** @description HTML input element native method */
    select: () => void;
    /** @description clear input value */
    clear: () => void;
    /** @description resize textarea. */
    resizeTextarea: () => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    input: (value: string) => void;
    focus: (evt: FocusEvent) => void;
    "update:modelValue": (value: string) => void;
    change: (value: string, evt?: Event | undefined) => void;
    clear: () => void;
    blur: (evt: FocusEvent) => void;
    compositionend: (evt: CompositionEvent) => void;
    compositionstart: (evt: CompositionEvent) => void;
    compositionupdate: (evt: CompositionEvent) => void;
    keydown: (evt: Event | KeyboardEvent) => void;
    mouseenter: (evt: MouseEvent) => void;
    mouseleave: (evt: MouseEvent) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<InputProps>, {
    readonly disabled: undefined;
    readonly modelValue: "";
    readonly modelModifiers: () => {};
    readonly type: import("./input").InputType;
    readonly autocomplete: "off";
    readonly clearIcon: any;
    readonly wordLimitPosition: "inside";
    readonly tabindex: 0;
    readonly validateEvent: true;
    readonly inputStyle: () => {};
    readonly rows: 2;
}>>> & {
    "onUpdate:modelValue"?: ((value: string) => any) | undefined;
    onInput?: ((value: string) => any) | undefined;
    onFocus?: ((evt: FocusEvent) => any) | undefined;
    onChange?: ((value: string, evt?: Event | undefined) => any) | undefined;
    onBlur?: ((evt: FocusEvent) => any) | undefined;
    onCompositionend?: ((evt: CompositionEvent) => any) | undefined;
    onCompositionstart?: ((evt: CompositionEvent) => any) | undefined;
    onCompositionupdate?: ((evt: CompositionEvent) => any) | undefined;
    onKeydown?: ((evt: Event | KeyboardEvent) => any) | undefined;
    onMouseenter?: ((evt: MouseEvent) => any) | undefined;
    onMouseleave?: ((evt: MouseEvent) => any) | undefined;
    onClear?: (() => any) | undefined;
}, {
    disabled: boolean;
    tabindex: string | number;
    type: import("./input").InputType;
    modelValue: string | number | null;
    modelModifiers: import("./input").InputModelModifiers;
    autocomplete: string;
    clearIcon: import("element-plus/es/utils").IconPropType;
    wordLimitPosition: "inside" | "outside";
    validateEvent: boolean;
    inputStyle: string | false | import("vue").CSSProperties | StyleValue[] | null;
    rows: number;
}, {}>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_TypePropsToOption<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: import('vue').PropType<Required<T>[K]>;
    } : {
        type: import('vue').PropType<T[K]>;
        required: true;
    };
};
type __VLS_WithDefaultsLocal<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
        default: D[K];
    }> : P[K];
};
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
type __VLS_PrettifyLocal<T> = {
    [K in keyof T as K]: T[K];
} & {};
