import type { Ref } from 'vue';
import type { TdInputProps } from './type';
export interface ExtendsTdInputProps extends TdInputProps {
    showInput: boolean;
    keepWrapperWidth: boolean;
    allowTriggerBlur: boolean;
}
export default function useInput(props: ExtendsTdInputProps, expose: (exposed: Record<string, any>) => void): {
    isHover: Ref<boolean>;
    focused: Ref<boolean>;
    renderType: Ref<"number" | "search" | "password" | "url" | "hidden" | "text" | "submit" | "tel">;
    showClear: import("vue").ComputedRef<boolean>;
    inputRef: Ref<HTMLInputElement>;
    clearIconRef: any;
    inputValue: Ref<string>;
    limitNumber: import("vue").ComputedRef<string>;
    tStatus: import("vue").ComputedRef<"error" | "default" | "" | "success" | "warning">;
    emitFocus: (e: FocusEvent) => void;
    formatAndEmitBlur: (e: FocusEvent) => void;
    onHandleCompositionend: (e: CompositionEvent) => void;
    onHandleCompositionstart: (e: CompositionEvent) => void;
    onRootClick: (e: MouseEvent) => void;
    emitPassword: () => void;
    handleInput: (e: InputEvent) => void;
    emitClear: ({ e }: {
        e: MouseEvent;
    }) => void;
    onClearIconMousedown: (e: MouseEvent) => void;
    innerValue: Ref<string>;
};
