import type { RendererNode, RendererElement, ComputedOptions, MethodOptions, ExtractPropTypes,  PropType,  VNode,  Component } from 'vue';
import type { InputType, InputSizeType, InputFocusInterface, InputChangeInterface, InputSearchInterface, InputEnterInterface } from './interface';
export declare const Props: {
    readonly modelValue: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly type: {
        readonly type: PropType<InputType>;
        readonly default: () => InputType;
        readonly validator: (val: InputType) => boolean;
    };
    readonly size: {
        readonly type: PropType<InputSizeType>;
        readonly default: () => InputSizeType;
        readonly validator: (val: InputSizeType) => boolean;
    };
    readonly disabled: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly max: {
        readonly type: NumberConstructor;
        readonly default: () => null;
    };
    readonly min: {
        readonly type: NumberConstructor;
        readonly default: () => null;
    };
    readonly maxLength: {
        readonly type: NumberConstructor;
        readonly default: () => null;
        readonly validator: (val: number) => boolean;
    };
    readonly autofocus: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly name: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly placeholder: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly clear: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly search: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly readonly: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly showPassword: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly enterSearch: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly icon: {
        readonly type: PropType<VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }> | Component<any, any, any, ComputedOptions, MethodOptions>>;
        readonly default: () => null;
    };
    readonly onSearch: {
        readonly type: PropType<InputSearchInterface>;
        readonly default: () => null;
    };
    readonly onChange: {
        readonly type: PropType<InputChangeInterface>;
        readonly default: () => null;
    };
    readonly onBlur: {
        readonly type: PropType<InputFocusInterface>;
        readonly default: () => null;
    };
    readonly onFocus: {
        readonly type: PropType<InputFocusInterface>;
        readonly default: () => null;
    };
    readonly onEnter: {
        readonly type: PropType<InputEnterInterface>;
        readonly default: () => null;
    };
};
export declare const Emits: {
    readonly 'update:modelValue': (val: string) => string;
};
export declare type InputPropsType = ExtractPropTypes<typeof Props>;
