import * as React from 'react';
import type { InputProps, InternalState } from './types';
import type { FocusEvent } from 'react';
declare class Input extends React.Component<InputProps, InternalState> {
    static defaultProps: {
        autoComplete: string;
        autoFocus: boolean;
        disabled: boolean;
        name: string;
        onBlur: () => void;
        onFocus: () => void;
        overrides: {};
        required: boolean;
        size: "default";
        startEnhancer: any;
        endEnhancer: any;
        clearable: boolean;
        type: string;
        readOnly: boolean;
    };
    /**
     * This "Stateless" input still has state. This is private state that
     * customers shouldn't have to manage themselves, such as input's focus state.
     */
    state: {
        isFocused: boolean;
    };
    onFocus: (e: FocusEvent<HTMLInputElement>) => void;
    onBlur: (e: FocusEvent<HTMLInputElement>) => void;
    render(): React.JSX.Element;
}
export default Input;
export { default as StatefulContainer } from './stateful-container';
