import { type Ref } from 'vue';
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
    size: {
        type: import("vue").PropType<"small" | "large">;
    };
    type: {
        type: import("vue").PropType<string>;
        default: string;
    };
    form: {
        type: import("vue").PropType<string>;
    };
    placeholder: {
        type: import("vue").PropType<string>;
    };
    disabled: {
        type: import("vue").PropType<boolean>;
    };
    autofocus: {
        type: import("vue").PropType<boolean>;
    };
    modelValue: {
        type: import("vue").PropType<string>;
        required: true;
    };
    autocomplete: {
        type: import("vue").PropType<string>;
        default: string;
    };
    clearable: {
        type: import("vue").PropType<boolean>;
    };
    showPassword: {
        type: import("vue").PropType<boolean>;
    };
    readonly: {
        type: import("vue").PropType<boolean>;
    };
}, {
    ref: Ref<HTMLInputElement>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:modelValue": (value: string) => void;
    input: (value: string) => void;
    change: (value: string) => void;
    focus: (value: FocusEvent) => void;
    blur: (value: FocusEvent) => void;
    clear: () => void;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    size: {
        type: import("vue").PropType<"small" | "large">;
    };
    type: {
        type: import("vue").PropType<string>;
        default: string;
    };
    form: {
        type: import("vue").PropType<string>;
    };
    placeholder: {
        type: import("vue").PropType<string>;
    };
    disabled: {
        type: import("vue").PropType<boolean>;
    };
    autofocus: {
        type: import("vue").PropType<boolean>;
    };
    modelValue: {
        type: import("vue").PropType<string>;
        required: true;
    };
    autocomplete: {
        type: import("vue").PropType<string>;
        default: string;
    };
    clearable: {
        type: import("vue").PropType<boolean>;
    };
    showPassword: {
        type: import("vue").PropType<boolean>;
    };
    readonly: {
        type: import("vue").PropType<boolean>;
    };
}>> & {
    onFocus?: ((value: FocusEvent) => any) | undefined;
    onBlur?: ((value: FocusEvent) => any) | undefined;
    onChange?: ((value: string) => any) | undefined;
    onInput?: ((value: string) => any) | undefined;
    "onUpdate:modelValue"?: ((value: string) => any) | undefined;
    onClear?: (() => any) | undefined;
}, {
    type: string;
    autocomplete: string;
}, {}>, {
    prepend?(_: {}): any;
    prefix?(_: {}): any;
    suffix?(_: {}): any;
    append?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
