import { InputProps } from '../input';
import { TNode } from '../common';
export interface TdInputNumberProps {
    align?: 'left' | 'center' | 'right';
    autoWidth?: boolean;
    decimalPlaces?: number;
    disabled?: boolean;
    format?: (value: number) => number | string;
    inputProps?: InputProps;
    max?: number;
    min?: number;
    placeholder?: string;
    readonly?: boolean;
    size?: 'small' | 'medium' | 'large';
    status?: 'success' | 'warning' | 'error';
    step?: number;
    theme?: 'column' | 'row' | 'normal';
    tips?: string | TNode;
    value?: number;
    defaultValue?: number;
    onBlur?: (value: number, context: {
        e: FocusEvent;
    }) => void;
    onChange?: (value: number, context: ChangeContext) => void;
    onEnter?: (value: number, context: {
        e: KeyboardEvent;
    }) => void;
    onFocus?: (value: number, context: {
        e: FocusEvent;
    }) => void;
    onKeydown?: (value: number, context: {
        e: KeyboardEvent;
    }) => void;
    onKeypress?: (value: number, context: {
        e: KeyboardEvent;
    }) => void;
    onKeyup?: (value: number, context: {
        e: KeyboardEvent;
    }) => void;
}
export interface ChangeContext {
    type: ChangeSource;
    e: InputEvent | MouseEvent | FocusEvent;
}
export declare type ChangeSource = 'add' | 'reduce' | 'input' | '';
