export const YEAR_MATCH: RegExp;
export const YEAR_MONTH_MATCH: RegExp;
export default class DateTimeWidget extends React.Component<any, any, any> {
    static contextType: React.Context<import("../../ReactContext").ContextProps>;
    static propTypes: {
        uiSchema: PropTypes.Requireable<PropTypes.InferProps<{
            "ui:options": PropTypes.Requireable<PropTypes.InferProps<{
                showButtons: PropTypes.Requireable<NonNullable<boolean | PropTypes.InferProps<{
                    today: PropTypes.Requireable<boolean>;
                    yesterday: PropTypes.Requireable<boolean>;
                    same: PropTypes.Requireable<NonNullable<boolean | PropTypes.InferProps<{
                        path: PropTypes.Requireable<string>;
                    }> | null | undefined>>;
                    plusSixMonths: PropTypes.Requireable<NonNullable<boolean | PropTypes.InferProps<{
                        path: PropTypes.Requireable<string>;
                    }> | null | undefined>>;
                    plusSixYear: PropTypes.Requireable<NonNullable<boolean | PropTypes.InferProps<{
                        path: PropTypes.Requireable<string>;
                    }> | null | undefined>>;
                }> | null | undefined>>;
                showTimeList: PropTypes.Requireable<boolean>;
                allowOnlyYear: PropTypes.Requireable<boolean>;
                allowOnlyYearAndMonth: PropTypes.Requireable<boolean>;
                dateFormat: PropTypes.Requireable<string>;
                yearAndMonthDateFormat: PropTypes.Requireable<string>;
            }>>;
        }>>;
        schema: PropTypes.Requireable<PropTypes.InferProps<{
            type: PropTypes.Requireable<string>;
        }>>;
        value: PropTypes.Requireable<string>;
    };
    static defaultProps: {
        type: string;
        readonly: boolean;
        disabled: boolean;
        required: boolean;
        calendar: boolean;
        time: boolean;
    };
    constructor(props: any);
    state: {
        dateFormat: any;
        timeFormat: string;
        yearAndMonthDateFormat: any;
        format: string;
        inputFormat: any;
        placeholder: string;
    };
    UNSAFE_componentWillReceiveProps(props: any): void;
    componentDidMount(): void;
    componentWillUnmount(): void;
    focus: () => void;
    getStateFromProps(props: any): {
        dateFormat: any;
        timeFormat: string;
        yearAndMonthDateFormat: any;
        format: string;
        inputFormat: any;
        placeholder: string;
    };
    parse: (value: any) => any;
    timeWritten: any;
    onlyYearWritten: any;
    onlyYearAndMonthWritten: boolean | undefined;
    onChange: (value: any) => void;
    onToggle: (p: any) => void;
    toggle: any;
    setRef: (elem: any) => void;
    dateTimePickerRef: any;
    setContainerRef: (elem: any) => void;
    containerRef: any;
    onTextWidgetFocus: () => void;
    onBlur: () => void;
    onDateTimePickerChange: (value: any) => void;
    render(): JSX.Element;
    renderButtons(showButtons: any): JSX.Element[];
    getDateWithCurrentTime: (date: any) => any;
    setToday: () => void;
    setYesterday: () => void;
    setSameAsToday: () => void;
    setPlusSixMonths: () => void;
    setPlusYear: () => void;
    formatValue(value: any, options: any, props: any): any;
    getCurrentDateOrPathDate(path: any): moment.Moment | undefined;
}
import * as React from "react";
import moment from "moment";
import * as PropTypes from "prop-types";
