import type { PropType } from 'vue';
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    modelValue: StringConstructor;
    defaultValue: {
        type: StringConstructor;
        default: string;
    };
    size: {
        type: PropType<"mini" | "small" | "medium" | "large">;
    };
    allowClear: {
        type: BooleanConstructor;
        default: boolean;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    readonly: {
        type: BooleanConstructor;
        default: boolean;
    };
    error: {
        type: BooleanConstructor;
        default: boolean;
    };
    placeholder: StringConstructor;
    maxLength: {
        type: PropType<number | {
            length: number;
            errorOnly?: boolean | undefined;
        }>;
        default: number;
    };
    showWordLimit: {
        type: BooleanConstructor;
        default: boolean;
    };
    wordLength: {
        type: PropType<(value: string) => number>;
    };
    wordSlice: {
        type: PropType<(value: string, maxLength: number) => string>;
    };
    inputAttrs: {
        type: ObjectConstructor;
    };
    type: {
        type: PropType<"text" | "password">;
        default: string;
    };
    prepend: StringConstructor;
    append: StringConstructor;
}>, {
    inputRef: import("vue").Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
    render: () => import("vue/jsx-runtime").JSX.Element;
}, {}, {}, {
    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;
    pressEnter: (ev: KeyboardEvent) => true;
    clear: (ev: MouseEvent) => true;
    focus: (ev: FocusEvent) => true;
    blur: (ev: FocusEvent) => true;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    modelValue: StringConstructor;
    defaultValue: {
        type: StringConstructor;
        default: string;
    };
    size: {
        type: PropType<"mini" | "small" | "medium" | "large">;
    };
    allowClear: {
        type: BooleanConstructor;
        default: boolean;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    readonly: {
        type: BooleanConstructor;
        default: boolean;
    };
    error: {
        type: BooleanConstructor;
        default: boolean;
    };
    placeholder: StringConstructor;
    maxLength: {
        type: PropType<number | {
            length: number;
            errorOnly?: boolean | undefined;
        }>;
        default: number;
    };
    showWordLimit: {
        type: BooleanConstructor;
        default: boolean;
    };
    wordLength: {
        type: PropType<(value: string) => number>;
    };
    wordSlice: {
        type: PropType<(value: string, maxLength: number) => string>;
    };
    inputAttrs: {
        type: ObjectConstructor;
    };
    type: {
        type: PropType<"text" | "password">;
        default: string;
    };
    prepend: StringConstructor;
    append: StringConstructor;
}>> & Readonly<{
    onClear?: ((ev: MouseEvent) => any) | undefined;
    onChange?: ((value: string, ev: Event) => any) | undefined;
    onBlur?: ((ev: FocusEvent) => any) | undefined;
    onFocus?: ((ev: FocusEvent) => any) | undefined;
    onInput?: ((value: string, ev: Event) => any) | undefined;
    "onUpdate:modelValue"?: ((value: string) => any) | undefined;
    onPressEnter?: ((ev: KeyboardEvent) => any) | undefined;
}>, {
    type: "text" | "password";
    disabled: boolean;
    readonly: boolean;
    error: boolean;
    allowClear: boolean;
    defaultValue: string;
    maxLength: number | {
        length: number;
        errorOnly?: boolean | undefined;
    };
    showWordLimit: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
