import { InputValue, TdInputProps } from './type';
import './style';
export * from './type';
export declare type InputProps<T = InputValue> = TdInputProps<T>;
export declare type InputBlurEventParams = Parameters<InputProps['onBlur']>;
export declare type InputFocusEventParams = Parameters<InputProps['onFocus']>;
export declare type StrInputProps = TdInputProps<string>;
export declare type NumberInputProps = TdInputProps<number>;
export declare const Input: import("vue/types/vue").ExtendedVue<{
    useGlobalIcon(tdIcon: Record<string, any>): import("tdesign-icons-vue").GlobalIconConfig;
} & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & import("vue").default & {
    t<T>(pattern: T, placement?: number | import("../config-provider/config-receiver").Placement): string;
} & {
    global: import("..").InputConfig;
    classPrefix: string;
    componentName: string;
    commonSizeClassName: Record<string, string>;
    commonStatusClassName: Record<string, string>;
} & import("./input").InputParentInjectInstance, {
    formDisabled: any;
    isHover: boolean;
    focused: boolean;
    renderType: "number" | "search" | "password" | "url" | "hidden" | "text" | "submit" | "tel";
    inputValue: any;
    composingRef: boolean;
    composingRefValue: any;
    preValue: any;
    timer: any;
    observerTimer: any;
    containerObserver: ResizeObserver;
}, {
    getOutputValue(val: InputValue): InputValue;
    addListeners(): void;
    addResizeObserver(): void;
    renderIcon(h: import("vue").CreateElement, icon: string | Function, iconType: "prefix-icon" | "suffix-icon" | "password-icon"): any;
    setInputValue(v?: InputValue): void;
    focus(): void;
    blur(): void;
    handleKeydown(e: KeyboardEvent): void;
    handleKeyUp(e: KeyboardEvent): void;
    handleKeypress(e: KeyboardEvent): void;
    handlePaste(e: ClipboardEvent): void;
    onHandleMousewheel(e: WheelEvent): void;
    emitPassword(): void;
    emitClear(e: MouseEvent): void;
    emitFocus(e: FocusEvent): void;
    formatAndEmitBlur(e: FocusEvent): void;
    compositionstartHandler(e: CompositionEvent): void;
    compositionendHandler(e: CompositionEvent): void;
    onRootClick(e: MouseEvent): void;
    throttleChangeCursorPos(ref: HTMLInputElement, pos: number): void;
    handleInput(e: CompositionEvent | InputEvent): void;
    onInputMouseenter(e: MouseEvent): void;
    onInputMouseleave(e: MouseEvent): void;
    updateInputWidth(): void;
    getValueByLimitNumber(inputValue: string): string;
    onValidateChange(): void;
    useResizeObserver(el: HTMLElement, callback: (data: ResizeObserverEntry[]) => void): ResizeObserver;
    cleanupObserver(observer: ResizeObserver, container: Element): void;
}, {
    tDisabled: boolean;
    tPlaceholder: string;
    showClear: boolean;
    inputAttrs: Record<string, any>;
    inputClasses: import("..").ClassName;
    inputWrapClass: import("..").ClassName;
    limitNumber: string;
    innerStatus: string;
    tStatus: string;
    isIE: boolean;
}, {
    showInput: boolean;
    keepWrapperWidth: boolean;
    align: "center" | "left" | "right";
    allowInputOverMax: boolean;
    autoWidth: boolean;
    autocomplete: any;
    autofocus: boolean;
    borderless: boolean;
    clearable: boolean;
    disabled: any;
    format: import("./type").InputFormatType;
    inputClass: import("..").ClassName;
    label: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    maxcharacter: number;
    maxlength: string | number;
    name: string;
    placeholder: any;
    prefixIcon: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    readonly: any;
    showClearIconOnEmpty: boolean;
    showLimitNumber: boolean;
    size: import("..").SizeEnum;
    spellCheck: boolean;
    status: "error" | "default" | "success" | "warning";
    suffix: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    suffixIcon: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    tips: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    type: "number" | "search" | "password" | "url" | "hidden" | "text" | "submit" | "tel";
    value: any;
    defaultValue: InputValue;
    onBlur: (value: InputValue, context: {
        e: FocusEvent;
    }) => void;
    onChange: (value: InputValue, context?: {
        e?: MouseEvent | CompositionEvent | InputEvent;
        trigger: "input" | "clear" | "initial";
    }) => void;
    onClear: (context: {
        e: MouseEvent;
    }) => void;
    onClick: (context: {
        e: MouseEvent;
    }) => void;
    onCompositionend: (value: string, context: {
        e: CompositionEvent;
    }) => void;
    onCompositionstart: (value: string, context: {
        e: CompositionEvent;
    }) => void;
    onEnter: (value: InputValue, context: {
        e: KeyboardEvent;
    }) => void;
    onFocus: (value: InputValue, context: {
        e: FocusEvent;
    }) => void;
    onKeydown: (value: InputValue, context: {
        e: KeyboardEvent;
    }) => void;
    onKeypress: (value: InputValue, context: {
        e: KeyboardEvent;
    }) => void;
    onKeyup: (value: InputValue, context: {
        e: KeyboardEvent;
    }) => void;
    onMouseenter: (context: {
        e: MouseEvent;
    }) => void;
    onMouseleave: (context: {
        e: MouseEvent;
    }) => void;
    onPaste: (context: {
        e: ClipboardEvent;
        pasteValue: string;
    }) => void;
    onValidate: (context: {
        error?: "exceed-maximum" | "below-minimum";
    }) => void;
    onWheel: (context: {
        e: WheelEvent;
    }) => void;
}> & import("vue").PluginObject<import("vue/types/vue").ExtendedVue<{
    useGlobalIcon(tdIcon: Record<string, any>): import("tdesign-icons-vue").GlobalIconConfig;
} & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & import("vue").default & {
    t<T>(pattern: T, placement?: number | import("../config-provider/config-receiver").Placement): string;
} & {
    global: import("..").InputConfig;
    classPrefix: string;
    componentName: string;
    commonSizeClassName: Record<string, string>;
    commonStatusClassName: Record<string, string>;
} & import("./input").InputParentInjectInstance, {
    formDisabled: any;
    isHover: boolean;
    focused: boolean;
    renderType: "number" | "search" | "password" | "url" | "hidden" | "text" | "submit" | "tel";
    inputValue: any;
    composingRef: boolean;
    composingRefValue: any;
    preValue: any;
    timer: any;
    observerTimer: any;
    containerObserver: ResizeObserver;
}, {
    getOutputValue(val: InputValue): InputValue;
    addListeners(): void;
    addResizeObserver(): void;
    renderIcon(h: import("vue").CreateElement, icon: string | Function, iconType: "prefix-icon" | "suffix-icon" | "password-icon"): any;
    setInputValue(v?: InputValue): void;
    focus(): void;
    blur(): void;
    handleKeydown(e: KeyboardEvent): void;
    handleKeyUp(e: KeyboardEvent): void;
    handleKeypress(e: KeyboardEvent): void;
    handlePaste(e: ClipboardEvent): void;
    onHandleMousewheel(e: WheelEvent): void;
    emitPassword(): void;
    emitClear(e: MouseEvent): void;
    emitFocus(e: FocusEvent): void;
    formatAndEmitBlur(e: FocusEvent): void;
    compositionstartHandler(e: CompositionEvent): void;
    compositionendHandler(e: CompositionEvent): void;
    onRootClick(e: MouseEvent): void;
    throttleChangeCursorPos(ref: HTMLInputElement, pos: number): void;
    handleInput(e: CompositionEvent | InputEvent): void;
    onInputMouseenter(e: MouseEvent): void;
    onInputMouseleave(e: MouseEvent): void;
    updateInputWidth(): void;
    getValueByLimitNumber(inputValue: string): string;
    onValidateChange(): void;
    useResizeObserver(el: HTMLElement, callback: (data: ResizeObserverEntry[]) => void): ResizeObserver;
    cleanupObserver(observer: ResizeObserver, container: Element): void;
}, {
    tDisabled: boolean;
    tPlaceholder: string;
    showClear: boolean;
    inputAttrs: Record<string, any>;
    inputClasses: import("..").ClassName;
    inputWrapClass: import("..").ClassName;
    limitNumber: string;
    innerStatus: string;
    tStatus: string;
    isIE: boolean;
}, {
    showInput: boolean;
    keepWrapperWidth: boolean;
    align: "center" | "left" | "right";
    allowInputOverMax: boolean;
    autoWidth: boolean;
    autocomplete: any;
    autofocus: boolean;
    borderless: boolean;
    clearable: boolean;
    disabled: any;
    format: import("./type").InputFormatType;
    inputClass: import("..").ClassName;
    label: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    maxcharacter: number;
    maxlength: string | number;
    name: string;
    placeholder: any;
    prefixIcon: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    readonly: any;
    showClearIconOnEmpty: boolean;
    showLimitNumber: boolean;
    size: import("..").SizeEnum;
    spellCheck: boolean;
    status: "error" | "default" | "success" | "warning";
    suffix: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    suffixIcon: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    tips: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    type: "number" | "search" | "password" | "url" | "hidden" | "text" | "submit" | "tel";
    value: any;
    defaultValue: InputValue;
    onBlur: (value: InputValue, context: {
        e: FocusEvent;
    }) => void;
    onChange: (value: InputValue, context?: {
        e?: MouseEvent | CompositionEvent | InputEvent;
        trigger: "input" | "clear" | "initial";
    }) => void;
    onClear: (context: {
        e: MouseEvent;
    }) => void;
    onClick: (context: {
        e: MouseEvent;
    }) => void;
    onCompositionend: (value: string, context: {
        e: CompositionEvent;
    }) => void;
    onCompositionstart: (value: string, context: {
        e: CompositionEvent;
    }) => void;
    onEnter: (value: InputValue, context: {
        e: KeyboardEvent;
    }) => void;
    onFocus: (value: InputValue, context: {
        e: FocusEvent;
    }) => void;
    onKeydown: (value: InputValue, context: {
        e: KeyboardEvent;
    }) => void;
    onKeypress: (value: InputValue, context: {
        e: KeyboardEvent;
    }) => void;
    onKeyup: (value: InputValue, context: {
        e: KeyboardEvent;
    }) => void;
    onMouseenter: (context: {
        e: MouseEvent;
    }) => void;
    onMouseleave: (context: {
        e: MouseEvent;
    }) => void;
    onPaste: (context: {
        e: ClipboardEvent;
        pasteValue: string;
    }) => void;
    onValidate: (context: {
        error?: "exceed-maximum" | "below-minimum";
    }) => void;
    onWheel: (context: {
        e: WheelEvent;
    }) => void;
}>> & import("vue").PluginObject<import("vue/types/vue").ExtendedVue<{
    useGlobalIcon(tdIcon: Record<string, any>): import("tdesign-icons-vue").GlobalIconConfig;
} & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & import("vue").default & {
    t<T>(pattern: T, placement?: number | import("../config-provider/config-receiver").Placement): string;
} & {
    global: import("..").InputConfig;
    classPrefix: string;
    componentName: string;
    commonSizeClassName: Record<string, string>;
    commonStatusClassName: Record<string, string>;
} & import("./input").InputParentInjectInstance, {
    formDisabled: any;
    isHover: boolean;
    focused: boolean;
    renderType: "number" | "search" | "password" | "url" | "hidden" | "text" | "submit" | "tel";
    inputValue: any;
    composingRef: boolean;
    composingRefValue: any;
    preValue: any;
    timer: any;
    observerTimer: any;
    containerObserver: ResizeObserver;
}, {
    getOutputValue(val: InputValue): InputValue;
    addListeners(): void;
    addResizeObserver(): void;
    renderIcon(h: import("vue").CreateElement, icon: string | Function, iconType: "prefix-icon" | "suffix-icon" | "password-icon"): any;
    setInputValue(v?: InputValue): void;
    focus(): void;
    blur(): void;
    handleKeydown(e: KeyboardEvent): void;
    handleKeyUp(e: KeyboardEvent): void;
    handleKeypress(e: KeyboardEvent): void;
    handlePaste(e: ClipboardEvent): void;
    onHandleMousewheel(e: WheelEvent): void;
    emitPassword(): void;
    emitClear(e: MouseEvent): void;
    emitFocus(e: FocusEvent): void;
    formatAndEmitBlur(e: FocusEvent): void;
    compositionstartHandler(e: CompositionEvent): void;
    compositionendHandler(e: CompositionEvent): void;
    onRootClick(e: MouseEvent): void;
    throttleChangeCursorPos(ref: HTMLInputElement, pos: number): void;
    handleInput(e: CompositionEvent | InputEvent): void;
    onInputMouseenter(e: MouseEvent): void;
    onInputMouseleave(e: MouseEvent): void;
    updateInputWidth(): void;
    getValueByLimitNumber(inputValue: string): string;
    onValidateChange(): void;
    useResizeObserver(el: HTMLElement, callback: (data: ResizeObserverEntry[]) => void): ResizeObserver;
    cleanupObserver(observer: ResizeObserver, container: Element): void;
}, {
    tDisabled: boolean;
    tPlaceholder: string;
    showClear: boolean;
    inputAttrs: Record<string, any>;
    inputClasses: import("..").ClassName;
    inputWrapClass: import("..").ClassName;
    limitNumber: string;
    innerStatus: string;
    tStatus: string;
    isIE: boolean;
}, {
    showInput: boolean;
    keepWrapperWidth: boolean;
    align: "center" | "left" | "right";
    allowInputOverMax: boolean;
    autoWidth: boolean;
    autocomplete: any;
    autofocus: boolean;
    borderless: boolean;
    clearable: boolean;
    disabled: any;
    format: import("./type").InputFormatType;
    inputClass: import("..").ClassName;
    label: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    maxcharacter: number;
    maxlength: string | number;
    name: string;
    placeholder: any;
    prefixIcon: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    readonly: any;
    showClearIconOnEmpty: boolean;
    showLimitNumber: boolean;
    size: import("..").SizeEnum;
    spellCheck: boolean;
    status: "error" | "default" | "success" | "warning";
    suffix: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    suffixIcon: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    tips: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    type: "number" | "search" | "password" | "url" | "hidden" | "text" | "submit" | "tel";
    value: any;
    defaultValue: InputValue;
    onBlur: (value: InputValue, context: {
        e: FocusEvent;
    }) => void;
    onChange: (value: InputValue, context?: {
        e?: MouseEvent | CompositionEvent | InputEvent;
        trigger: "input" | "clear" | "initial";
    }) => void;
    onClear: (context: {
        e: MouseEvent;
    }) => void;
    onClick: (context: {
        e: MouseEvent;
    }) => void;
    onCompositionend: (value: string, context: {
        e: CompositionEvent;
    }) => void;
    onCompositionstart: (value: string, context: {
        e: CompositionEvent;
    }) => void;
    onEnter: (value: InputValue, context: {
        e: KeyboardEvent;
    }) => void;
    onFocus: (value: InputValue, context: {
        e: FocusEvent;
    }) => void;
    onKeydown: (value: InputValue, context: {
        e: KeyboardEvent;
    }) => void;
    onKeypress: (value: InputValue, context: {
        e: KeyboardEvent;
    }) => void;
    onKeyup: (value: InputValue, context: {
        e: KeyboardEvent;
    }) => void;
    onMouseenter: (context: {
        e: MouseEvent;
    }) => void;
    onMouseleave: (context: {
        e: MouseEvent;
    }) => void;
    onPaste: (context: {
        e: ClipboardEvent;
        pasteValue: string;
    }) => void;
    onValidate: (context: {
        error?: "exceed-maximum" | "below-minimum";
    }) => void;
    onWheel: (context: {
        e: WheelEvent;
    }) => void;
}> & import("vue").PluginObject<import("vue/types/vue").ExtendedVue<{
    useGlobalIcon(tdIcon: Record<string, any>): import("tdesign-icons-vue").GlobalIconConfig;
} & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & import("vue").default & {
    t<T>(pattern: T, placement?: number | import("../config-provider/config-receiver").Placement): string;
} & {
    global: import("..").InputConfig;
    classPrefix: string;
    componentName: string;
    commonSizeClassName: Record<string, string>;
    commonStatusClassName: Record<string, string>;
} & import("./input").InputParentInjectInstance, {
    formDisabled: any;
    isHover: boolean;
    focused: boolean;
    renderType: "number" | "search" | "password" | "url" | "hidden" | "text" | "submit" | "tel";
    inputValue: any;
    composingRef: boolean;
    composingRefValue: any;
    preValue: any;
    timer: any;
    observerTimer: any;
    containerObserver: ResizeObserver;
}, {
    getOutputValue(val: InputValue): InputValue;
    addListeners(): void;
    addResizeObserver(): void;
    renderIcon(h: import("vue").CreateElement, icon: string | Function, iconType: "prefix-icon" | "suffix-icon" | "password-icon"): any;
    setInputValue(v?: InputValue): void;
    focus(): void;
    blur(): void;
    handleKeydown(e: KeyboardEvent): void;
    handleKeyUp(e: KeyboardEvent): void;
    handleKeypress(e: KeyboardEvent): void;
    handlePaste(e: ClipboardEvent): void;
    onHandleMousewheel(e: WheelEvent): void;
    emitPassword(): void;
    emitClear(e: MouseEvent): void;
    emitFocus(e: FocusEvent): void;
    formatAndEmitBlur(e: FocusEvent): void;
    compositionstartHandler(e: CompositionEvent): void;
    compositionendHandler(e: CompositionEvent): void;
    onRootClick(e: MouseEvent): void;
    throttleChangeCursorPos(ref: HTMLInputElement, pos: number): void;
    handleInput(e: CompositionEvent | InputEvent): void;
    onInputMouseenter(e: MouseEvent): void;
    onInputMouseleave(e: MouseEvent): void;
    updateInputWidth(): void;
    getValueByLimitNumber(inputValue: string): string;
    onValidateChange(): void;
    useResizeObserver(el: HTMLElement, callback: (data: ResizeObserverEntry[]) => void): ResizeObserver;
    cleanupObserver(observer: ResizeObserver, container: Element): void;
}, {
    tDisabled: boolean;
    tPlaceholder: string;
    showClear: boolean;
    inputAttrs: Record<string, any>;
    inputClasses: import("..").ClassName;
    inputWrapClass: import("..").ClassName;
    limitNumber: string;
    innerStatus: string;
    tStatus: string;
    isIE: boolean;
}, {
    showInput: boolean;
    keepWrapperWidth: boolean;
    align: "center" | "left" | "right";
    allowInputOverMax: boolean;
    autoWidth: boolean;
    autocomplete: any;
    autofocus: boolean;
    borderless: boolean;
    clearable: boolean;
    disabled: any;
    format: import("./type").InputFormatType;
    inputClass: import("..").ClassName;
    label: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    maxcharacter: number;
    maxlength: string | number;
    name: string;
    placeholder: any;
    prefixIcon: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    readonly: any;
    showClearIconOnEmpty: boolean;
    showLimitNumber: boolean;
    size: import("..").SizeEnum;
    spellCheck: boolean;
    status: "error" | "default" | "success" | "warning";
    suffix: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    suffixIcon: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    tips: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    type: "number" | "search" | "password" | "url" | "hidden" | "text" | "submit" | "tel";
    value: any;
    defaultValue: InputValue;
    onBlur: (value: InputValue, context: {
        e: FocusEvent;
    }) => void;
    onChange: (value: InputValue, context?: {
        e?: MouseEvent | CompositionEvent | InputEvent;
        trigger: "input" | "clear" | "initial";
    }) => void;
    onClear: (context: {
        e: MouseEvent;
    }) => void;
    onClick: (context: {
        e: MouseEvent;
    }) => void;
    onCompositionend: (value: string, context: {
        e: CompositionEvent;
    }) => void;
    onCompositionstart: (value: string, context: {
        e: CompositionEvent;
    }) => void;
    onEnter: (value: InputValue, context: {
        e: KeyboardEvent;
    }) => void;
    onFocus: (value: InputValue, context: {
        e: FocusEvent;
    }) => void;
    onKeydown: (value: InputValue, context: {
        e: KeyboardEvent;
    }) => void;
    onKeypress: (value: InputValue, context: {
        e: KeyboardEvent;
    }) => void;
    onKeyup: (value: InputValue, context: {
        e: KeyboardEvent;
    }) => void;
    onMouseenter: (context: {
        e: MouseEvent;
    }) => void;
    onMouseleave: (context: {
        e: MouseEvent;
    }) => void;
    onPaste: (context: {
        e: ClipboardEvent;
        pasteValue: string;
    }) => void;
    onValidate: (context: {
        error?: "exceed-maximum" | "below-minimum";
    }) => void;
    onWheel: (context: {
        e: WheelEvent;
    }) => void;
}>>>;
export declare const InputGroup: import("vue/types/vue").ExtendedVue<{
    classPrefix: string;
    componentName: string;
    commonSizeClassName: Record<string, string>;
    commonStatusClassName: Record<string, string>;
} & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & import("vue").default, unknown, unknown, {
    classes: import("..").ClassName;
}, {
    separate: boolean;
}> & import("vue").PluginObject<import("vue/types/vue").ExtendedVue<{
    classPrefix: string;
    componentName: string;
    commonSizeClassName: Record<string, string>;
    commonStatusClassName: Record<string, string>;
} & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & import("vue").default, unknown, unknown, {
    classes: import("..").ClassName;
}, {
    separate: boolean;
}>>;
export default Input;
