import { PropType, DefineComponent, ExtractPropTypes, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { ButtonSize } from '../button';
import { CompositionEventHandler, FocusEventHandler, ChangeEventHandler, KeyboardEventHandler, MouseEventHandler } from '../_util/EventInterface';
import { VueTypeValidableDef } from 'vue-types';
import { InputStatus } from '../_util/statusUtils';
import { ShowCountProps } from '../vc-input/inputProps';
declare const _default: DefineComponent<ExtractPropTypes<{
    prefixCls: StringConstructor;
    inputPrefixCls: StringConstructor;
    action: {
        type: StringConstructor;
        default: string;
    };
    visibilityToggle: {
        type: BooleanConstructor;
        default: boolean;
    };
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    'onUpdate:visible': PropType<(visible: boolean) => void>;
    iconRender: FunctionConstructor;
    size: {
        type: PropType< ButtonSize>;
    };
    name: StringConstructor;
    value: {
        type: PropType<string | number>;
        default: undefined;
    };
    type: {
        type: PropType<"number" | "button" | "search" | "time" | "image" | "text" | "hidden" | "color" | "checkbox" | "radio" | "reset" | "range" | "date" | "url" | "email" | "week" | "month" | "submit" | "tel" | "datetime-local" | "file" | "password">;
        default: "number" | "button" | "search" | "time" | "image" | "text" | "hidden" | "color" | "checkbox" | "radio" | "reset" | "range" | "date" | "url" | "email" | "week" | "month" | "submit" | "tel" | "datetime-local" | "file" | "password";
    };
    hidden: {
        type: BooleanConstructor;
        default: undefined;
    };
    disabled: {
        type: BooleanConstructor;
        default: undefined;
    };
    onCompositionend: PropType< CompositionEventHandler>;
    onCompositionstart: PropType< CompositionEventHandler>;
    onFocus: PropType< FocusEventHandler>;
    onBlur: PropType< FocusEventHandler>;
    onChange: PropType< ChangeEventHandler>;
    onInput: PropType< ChangeEventHandler>;
    onKeydown: PropType< KeyboardEventHandler>;
    onKeyup: PropType< KeyboardEventHandler>;
    id: StringConstructor;
    prefix: VueTypeValidableDef<any>;
    autofocus: {
        type: BooleanConstructor;
        default: undefined;
    };
    autocomplete: StringConstructor;
    loading: {
        type: BooleanConstructor;
        default: undefined;
    };
    bordered: {
        type: BooleanConstructor;
        default: undefined;
    };
    status: PropType< InputStatus>;
    defaultValue: {
        type: PropType<string | number>;
        default: undefined;
    };
    placeholder: {
        type: PropType<string | number>;
    };
    allowClear: {
        type: BooleanConstructor;
        default: undefined;
    };
    clearIcon: VueTypeValidableDef<any>;
    focused: {
        type: BooleanConstructor;
        default: undefined;
    };
    readonly: {
        type: BooleanConstructor;
        default: undefined;
    };
    'onUpdate:value': PropType<(val: string) => void>;
    lazy: {
        type: BooleanConstructor;
        default: boolean;
    };
    suffix: VueTypeValidableDef<any>;
    inputElement: VueTypeValidableDef<any>;
    maxlength: NumberConstructor;
    showCount: {
        type: PropType<boolean | ShowCountProps>;
    };
    htmlSize: NumberConstructor;
    onPressEnter: PropType< KeyboardEventHandler>;
    valueModifiers: ObjectConstructor;
    triggerFocus: PropType<() => void>;
    handleReset: PropType< MouseEventHandler>;
    addonBefore: VueTypeValidableDef<any>;
    addonAfter: VueTypeValidableDef<any>;
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
    prefixCls: StringConstructor;
    inputPrefixCls: StringConstructor;
    action: {
        type: StringConstructor;
        default: string;
    };
    visibilityToggle: {
        type: BooleanConstructor;
        default: boolean;
    };
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    'onUpdate:visible': PropType<(visible: boolean) => void>;
    iconRender: FunctionConstructor;
    size: {
        type: PropType< ButtonSize>;
    };
    name: StringConstructor;
    value: {
        type: PropType<string | number>;
        default: undefined;
    };
    type: {
        type: PropType<"number" | "button" | "search" | "time" | "image" | "text" | "hidden" | "color" | "checkbox" | "radio" | "reset" | "range" | "date" | "url" | "email" | "week" | "month" | "submit" | "tel" | "datetime-local" | "file" | "password">;
        default: "number" | "button" | "search" | "time" | "image" | "text" | "hidden" | "color" | "checkbox" | "radio" | "reset" | "range" | "date" | "url" | "email" | "week" | "month" | "submit" | "tel" | "datetime-local" | "file" | "password";
    };
    hidden: {
        type: BooleanConstructor;
        default: undefined;
    };
    disabled: {
        type: BooleanConstructor;
        default: undefined;
    };
    onCompositionend: PropType< CompositionEventHandler>;
    onCompositionstart: PropType< CompositionEventHandler>;
    onFocus: PropType< FocusEventHandler>;
    onBlur: PropType< FocusEventHandler>;
    onChange: PropType< ChangeEventHandler>;
    onInput: PropType< ChangeEventHandler>;
    onKeydown: PropType< KeyboardEventHandler>;
    onKeyup: PropType< KeyboardEventHandler>;
    id: StringConstructor;
    prefix: VueTypeValidableDef<any>;
    autofocus: {
        type: BooleanConstructor;
        default: undefined;
    };
    autocomplete: StringConstructor;
    loading: {
        type: BooleanConstructor;
        default: undefined;
    };
    bordered: {
        type: BooleanConstructor;
        default: undefined;
    };
    status: PropType< InputStatus>;
    defaultValue: {
        type: PropType<string | number>;
        default: undefined;
    };
    placeholder: {
        type: PropType<string | number>;
    };
    allowClear: {
        type: BooleanConstructor;
        default: undefined;
    };
    clearIcon: VueTypeValidableDef<any>;
    focused: {
        type: BooleanConstructor;
        default: undefined;
    };
    readonly: {
        type: BooleanConstructor;
        default: undefined;
    };
    'onUpdate:value': PropType<(val: string) => void>;
    lazy: {
        type: BooleanConstructor;
        default: boolean;
    };
    suffix: VueTypeValidableDef<any>;
    inputElement: VueTypeValidableDef<any>;
    maxlength: NumberConstructor;
    showCount: {
        type: PropType<boolean | ShowCountProps>;
    };
    htmlSize: NumberConstructor;
    onPressEnter: PropType< KeyboardEventHandler>;
    valueModifiers: ObjectConstructor;
    triggerFocus: PropType<() => void>;
    handleReset: PropType< MouseEventHandler>;
    addonBefore: VueTypeValidableDef<any>;
    addonAfter: VueTypeValidableDef<any>;
}>> & Readonly<{}>, {
    value: string | number;
    type: "number" | "button" | "search" | "time" | "image" | "text" | "hidden" | "color" | "checkbox" | "radio" | "reset" | "range" | "date" | "url" | "email" | "week" | "month" | "submit" | "tel" | "datetime-local" | "file" | "password";
    hidden: boolean;
    visible: boolean;
    disabled: boolean;
    autofocus: boolean;
    loading: boolean;
    bordered: boolean;
    defaultValue: string | number;
    action: string;
    allowClear: boolean;
    focused: boolean;
    readonly: boolean;
    lazy: boolean;
    visibilityToggle: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default _default;
