import type { PropType } from 'vue';
declare const _default: import("vue").DefineComponent<{
    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;
    };
}, {
    inputRef: import("vue").Ref<HTMLInputElement | undefined>;
    render: () => JSX.Element;
}, 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;
    pressEnter: (ev: KeyboardEvent) => true;
    clear: (ev: MouseEvent) => true;
    focus: (ev: FocusEvent) => true;
    blur: (ev: FocusEvent) => true;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
    modelValue?: unknown;
    defaultValue?: unknown;
    size?: unknown;
    allowClear?: unknown;
    disabled?: unknown;
    readonly?: unknown;
    error?: unknown;
    placeholder?: unknown;
    maxLength?: unknown;
    showWordLimit?: unknown;
    wordLength?: unknown;
    wordSlice?: unknown;
    inputAttrs?: unknown;
    type?: unknown;
} & {
    disabled: boolean;
    type: "text" | "password";
    readonly: boolean;
    error: boolean;
    allowClear: boolean;
    defaultValue: string;
    maxLength: number | {
        length: number;
        errorOnly?: boolean | undefined;
    };
    showWordLimit: boolean;
} & {
    size?: "mini" | "small" | "medium" | "large" | undefined;
    placeholder?: string | undefined;
    modelValue?: string | undefined;
    wordLength?: ((value: string) => number) | undefined;
    wordSlice?: ((value: string, maxLength: number) => string) | undefined;
    inputAttrs?: 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;
    onPressEnter?: ((ev: KeyboardEvent) => any) | undefined;
    "onUpdate:modelValue"?: ((value: string) => any) | undefined;
}, {
    disabled: boolean;
    type: "text" | "password";
    readonly: boolean;
    error: boolean;
    allowClear: boolean;
    defaultValue: string;
    maxLength: number | {
        length: number;
        errorOnly?: boolean | undefined;
    };
    showWordLimit: boolean;
}>;
export default _default;
