/**
 * DatePicker component
 */
declare class DatePicker extends React.PureComponent<any, any, any> {
    static displayName: string;
    static defaultProps: {
        filterDate: () => boolean;
        rtl: boolean;
        width: string;
        zIndex: number;
        disabled: boolean;
        inputDataHook: string;
        popoverProps: {
            zIndex: number;
        };
        disableKeyboardType: boolean;
        onChange: () => void;
        dateStyle: string;
        shouldCloseOnSelect: boolean;
    };
    constructor(props: any);
    state: {
        value: any;
        isOpen: any;
        inputValue: any;
        autoFocus: boolean;
        shouldOpenCalendar: boolean;
    };
    componentDidUpdate: (prevProps: any) => void;
    _openCalendar: () => void;
    openCalendar: () => void;
    _closeCalendar: (shouldOpenCalendar?: boolean, shouldFocusInput?: boolean) => void;
    _handleInputChange: ({ dateVal }: {
        dateVal: any;
    }) => void;
    _transformDate: (value: any, oldValue: any) => any;
    _saveNewValue: (value: any, modifiers?: {}) => void;
    _filterDate: (date: any) => any;
    _handleKeyDown: (event: any, newDate: any) => void;
    _handleCalendarKeyDown: (event: any) => void;
    _handleChange: (value: any, modifiers: any) => void;
    _handleRef: (ref: any) => void;
    _handleInputFocus: (event: any) => void;
    _getLocale(): any;
    _renderInput: () => React.JSX.Element;
    render(): React.JSX.Element;
}
declare namespace DatePicker {
    export { WixStyleReactEnvironmentContext as contextType };
    export namespace propTypes {
        let className: PropTypes.Requireable<string>;
        let dataHook: PropTypes.Requireable<string>;
        let autoFocus: PropTypes.Requireable<boolean>;
        let customInput: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        let inputProps: PropTypes.Requireable<object>;
        let dateIndication: PropTypes.Requireable<(...args: any[]) => any>;
        let locale: PropTypes.Requireable<"th" | "tr" | "ms" | "id" | "no" | "en" | "en-US" | "en-GB" | "en-AU" | "en-CA" | "ar" | "bg" | "ca" | "zh" | "zh-TW" | "zh-HK" | "zh-MO" | "cs" | "da" | "nl" | "fi" | "fr" | "fr-CA" | "fr-CH" | "fr-BE" | "de" | "de-CH" | "de-AT" | "el" | "he" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "nb" | "nn" | "pl" | "pt-BR" | "pt" | "ro" | "ru" | "sk" | "sl" | "es" | "es-419" | "es-AR" | "es-MX" | "es-US" | "sv" | "tl" | "uk" | "vi">;
        let dateStyle: PropTypes.Requireable<string>;
        let disabled: PropTypes.Requireable<boolean>;
        let excludePastDates: PropTypes.Requireable<boolean>;
        let filterDate: PropTypes.Requireable<(...args: any[]) => any>;
        let inputDataHook: PropTypes.Requireable<string>;
        let calendarDataHook: PropTypes.Requireable<string>;
        let placeholderText: PropTypes.Requireable<string>;
        let rtl: PropTypes.Requireable<boolean>;
        let value: PropTypes.Requireable<object>;
        let initialOpen: PropTypes.Requireable<boolean>;
        let status: PropTypes.Requireable<string>;
        let statusMessage: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        let width: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
        let zIndex: PropTypes.Requireable<number>;
        let popoverProps: PropTypes.Requireable<PropTypes.InferProps<{
            appendTo: PropTypes.Requireable<string>;
            flip: PropTypes.Requireable<boolean>;
            fixed: PropTypes.Requireable<boolean>;
            placement: PropTypes.Requireable<string>;
            timeout: PropTypes.Requireable<NonNullable<number | PropTypes.InferProps<{
                enter: PropTypes.Requireable<number>;
                exit: PropTypes.Requireable<number>;
            }> | null | undefined>>;
            zIndex: PropTypes.Requireable<number>;
            onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
            onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
            moveArrowTo: PropTypes.Requireable<number>;
            moveBy: PropTypes.Requireable<PropTypes.InferProps<{
                x: PropTypes.Requireable<number>;
                y: PropTypes.Requireable<number>;
            }>>;
            hideDelay: PropTypes.Requireable<number>;
            showDelay: PropTypes.Requireable<number>;
            width: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
            maxWidth: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
            minWidth: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
            dynamicWidth: PropTypes.Requireable<boolean>;
        }>>;
        let firstDayOfWeek: PropTypes.Requireable<number>;
        let size: PropTypes.Requireable<string>;
        let readOnly: PropTypes.Requireable<boolean>;
        let today: PropTypes.Requireable<NonNullable<string | Date | null | undefined>>;
        let clearButton: PropTypes.Requireable<boolean>;
        let onChange: PropTypes.Validator<(...args: any[]) => any>;
        let onClear: PropTypes.Requireable<(...args: any[]) => any>;
        let onClose: PropTypes.Requireable<(...args: any[]) => any>;
        let onOpen: PropTypes.Requireable<(...args: any[]) => any>;
        let onMonthChange: PropTypes.Requireable<(...args: any[]) => any>;
        let disableKeyboardType: PropTypes.Requireable<boolean>;
        let showYearDropdown: PropTypes.Requireable<boolean>;
        let showMonthDropdown: PropTypes.Requireable<boolean>;
        let shouldCloseOnSelect: PropTypes.Requireable<boolean>;
        let monthDropdownAriaLabel: PropTypes.Requireable<string>;
        let monthDropdownAriaLabelledBy: PropTypes.Requireable<string>;
        let yearDropdownAriaLabel: PropTypes.Requireable<string>;
        let yearDropdownAriaLabelledBy: PropTypes.Requireable<string>;
        let leftArrowAriaLabel: PropTypes.Requireable<string>;
        let leftArrowAriaLabelledBy: PropTypes.Requireable<string>;
        let rightArrowAriaLabel: PropTypes.Requireable<string>;
        let rightArrowAriaLabelledBy: PropTypes.Requireable<string>;
        let validate: PropTypes.Requireable<boolean>;
        let onValidate: PropTypes.Requireable<(...args: any[]) => any>;
        let clearButtonTooltipContent: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        let clearButtonTooltipProps: PropTypes.Requireable<PropTypes.ReactNodeLike>;
    }
}
export default DatePicker;
import React from 'react';
import { WixStyleReactEnvironmentContext } from '../WixStyleReactEnvironmentProvider/context';
import PropTypes from 'prop-types';
//# sourceMappingURL=DatePicker.d.ts.map