import * as React from 'react';
import './style/input.css';
export declare type InputType = 'text' | 'password';
export declare type InputStatusType = 'warning' | 'error' | 'success';
export interface InputProps {
    type?: 'menu-bg' | 'assist-bg';
    size?: 'compact';
    status?: InputStatusType;
    /** 'text' | 'password' */
    inputType?: InputType;
    value?: string | number;
    defaultValue?: string | number;
    placeholder?: string;
    disabled?: boolean;
    className?: string;
    id?: string;
    block?: boolean;
    onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
    onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void;
    onKeyUp?: (e: React.KeyboardEvent<HTMLInputElement>) => void;
    onPressEnter?: (e: KeyboardEvent) => void;
    onFocus?: (e: React.ChangeEvent<HTMLInputElement>) => void;
    onBlur?: (e: React.ChangeEvent<HTMLInputElement>) => void;
    allowClear?: boolean;
    prefix?: React.ReactNode;
    prefixIcon?: string;
    prefixAddon?: React.ReactNode;
    suffix?: React.ReactNode;
    suffixIcon?: string;
    suffixAddon?: React.ReactNode;
    centered?: boolean;
    autoFocus?: boolean | string | number;
    autoComplete?: string;
    style?: React.CSSProperties;
    inputStyle?: React.CSSProperties;
    onPrefixClick?: (e: React.MouseEvent) => void;
    onSuffixClick?: (e: React.MouseEvent) => void;
}
export interface InputRef {
    dom: HTMLDivElement | null;
    input: HTMLInputElement | null;
    focus: () => void;
    blur: () => void;
    select: () => void;
}
export declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<InputRef>>;
export default Input;
declare const InputMemo: React.MemoExoticComponent<React.ForwardRefExoticComponent<InputProps & React.RefAttributes<InputRef>>>;
export { InputMemo };
