/// <reference types="react" />
import { IDatePicker, IDatePickerProps } from './DatePicker.types';
import { BaseComponent } from '../../Utilities';
export interface IDatePickerState {
    selectedDate?: Date;
    formattedDate?: string;
    isDatePickerShown?: boolean;
    errorMessage?: string;
}
export declare class DatePickerBase extends BaseComponent<IDatePickerProps, IDatePickerState> implements IDatePicker {
    static defaultProps: IDatePickerProps;
    private _calendar;
    private _datePickerDiv;
    private _textField;
    constructor(props: IDatePickerProps);
    componentWillReceiveProps(nextProps: IDatePickerProps): void;
    componentDidUpdate(prevProps: IDatePickerProps, prevState: IDatePickerState): void;
    render(): JSX.Element;
    focus(): void;
    reset(): void;
    private _onSelectDate;
    private _onCalloutPositioned;
    private _onTextFieldFocus;
    private _onTextFieldBlur;
    private _onTextFieldChanged;
    private _onTextFieldKeyDown;
    private _onTextFieldClick;
    private _onIconClick;
    private _showDatePickerPopup();
    private _dismissDatePickerPopup;
    /**
     * Callback for closing the calendar callout
     */
    private _calendarDismissed;
    private _handleEscKey;
    private _validateTextInput;
    private _getDefaultState(props?);
    private _isDateOutOfBounds(date, minDate?, maxDate?);
}
