/// <reference types="react" />
import moment from 'moment';
import { DatePickerBase } from './DatePickerBase';
export declare class SingleDatePickerInputControl extends DatePickerBase {
    static propTypes: any;
    static defaultProps: {
        testAutomationId: string;
        dateFormat: string;
        timeFormat: string;
        utc: boolean;
        hasOnlyTime: boolean;
        hasOnlyDate: boolean;
        numberOfMonths: number;
        isValidDate: (mode: any, currentDay: any) => boolean;
        singleDatePickerProps: {};
        inputProps: {};
        monthYearFormat: string;
        timePickerCurrentTimeSettingAriaPrompt: string;
        timePickerAriaDescription: string;
        timePickerHourIncreaseBtnAriaLabel: string;
        timePickerHourDecreaseBtnAriaLabel: string;
        timePickerMinuteIncreaseBtnAriaLabel: string;
        timePickerMinuteDecreaseBtnAriaLabel: string;
        timeAmAriaLabel: string;
        timePmAriaLabel: string;
        monthYearBtnAriaLabel: string;
        monthAriaLabel: string;
        yearAriaLabel: string;
        amPmSwitcherLabel: string;
        enablePMTitle: string;
        enableAMTitle: string;
        yearsBeforeCurrent: number;
        yearsAfterCurrent: number;
        hasStringFormat: boolean;
        hasMomentFormat: boolean;
        hasTimestampFormat: boolean;
        maxLength: number;
        hasFormGroupContainer: boolean;
        hasFeedbackBlock: boolean;
        ariaLabel: string;
        dayPickerPhrase: {
            readonly calendarLabel: string;
            readonly closeDatePicker: string;
            readonly focusStartDate: string;
            readonly clearDate: string;
            readonly clearDates: string;
            readonly jumpToPrevMonth: string;
            readonly jumpToNextMonth: string;
            readonly keyboardShortcuts: string;
            readonly showKeyboardShortcutsPanel: string;
            readonly hideKeyboardShortcutsPanel: string;
            readonly openThisPanel: string;
            readonly enterKey: string;
            readonly leftArrowRightArrow: string;
            readonly upArrowDownArrow: string;
            readonly pageUpPageDown: string;
            readonly homeEnd: string;
            readonly escape: string;
            readonly questionMark: string;
            readonly selectFocusedDate: string;
            readonly moveFocusByOneDay: string;
            readonly moveFocusByOneWeek: string;
            readonly moveFocusByOneMonth: string;
            readonly moveFocustoStartAndEndOfWeek: string;
            readonly returnFocusToInput: string;
            readonly keyboardNavigationInstructions: string;
            readonly chooseAvailableDate: string;
            readonly chooseAvailableStartDate: string;
            readonly chooseAvailableEndDate: string;
            readonly dateIsUnavailable: string;
            readonly dateIsSelected: string;
        };
    };
    state: {
        isMonthYearEditing: boolean;
        value: moment.Moment;
    };
    parseUtcValue(value: any): moment.Moment;
    getDateTimeValue(): moment.Moment;
    notifyDateTimeChange: (momentValue: any) => void;
    getFormattedReturnValue(value: any): any;
    /**
     * @param {Moment} newValue
     * */
    onDateChange: (newValue: any) => void;
    getDateTimeMomentValue(): moment.Moment;
    getTimeValue(): {
        hours: number;
        minutes: number;
    };
    onTimeChange: ({ hours, minutes }: {
        hours: any;
        minutes: any;
    }) => void;
    initialVisibleMonth: () => moment.Moment;
    handleSwitchToMonthYearEditing: () => Promise<void>;
    onSwitchToMonthYearText: () => void;
    renderMonthsDropDown: ({ month, onMonthSelect, onYearSelect }: {
        month: any;
        onMonthSelect: any;
        onYearSelect: any;
    }) => JSX.Element;
    renderMonthYearText: ({ month }: {
        month: any;
    }) => JSX.Element;
    renderSingleDatePicker(): JSX.Element;
    handleBackFromTimePicker: () => Promise<{}>;
    renderTimePicker: () => JSX.Element;
    getTimePickerPromptMessage: (timeValue: any) => any;
    getDatePickerContainerClassName(): string;
    handleMouseUpDayPickerContainer: () => void;
    /** @override */
    getDisplayValue: any;
    /** @override */
    renderDatePicker: any;
}
