import { TNode, SizeEnum, ClassName } from '../common';
export interface TdInputProps {
    align?: 'left' | 'center' | 'right';
    allowInputOverMax?: boolean;
    autocomplete?: string;
    autofocus?: boolean;
    autoWidth?: boolean;
    clearable?: boolean;
    disabled?: boolean;
    format?: InputFormatType;
    inputClass?: ClassName;
    label?: string | TNode;
    maxcharacter?: number;
    maxlength?: number;
    name?: string;
    placeholder?: string;
    prefixIcon?: TNode;
    readonly?: boolean;
    showClearIconOnEmpty?: boolean;
    size?: SizeEnum;
    status?: 'default' | 'success' | 'warning' | 'error';
    suffix?: string | TNode;
    suffixIcon?: TNode;
    tips?: string | TNode;
    type?: 'text' | 'number' | 'url' | 'tel' | 'password' | 'search' | 'submit' | 'hidden';
    value?: InputValue;
    defaultValue?: InputValue;
    onBlur?: (value: InputValue, context: {
        e: FocusEvent;
    }) => void;
    onChange?: (value: InputValue, context?: {
        e?: InputEvent | MouseEvent;
    }) => void;
    onClear?: (context: {
        e: MouseEvent;
    }) => void;
    onCompositionend?: (value: InputValue, context: {
        e: CompositionEvent;
    }) => void;
    onCompositionstart?: (value: InputValue, 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;
    onWheel?: (context: {
        e: WheelEvent;
    }) => void;
}
export declare type InputFormatType = (value: InputValue) => number | string;
export declare type InputValue = string | number;
