import * as React from "react";
import { DateFnsLocalizedComponent } from "../dateFnsLocalizedComponent";
import type { DateRangePicker3DefaultProps, DateRangePicker3Props } from "./dateRangePicker3Props";
import type { DateRangePicker3State } from "./dateRangePicker3State";
export type { DateRangePicker3Props };
/**
 * Date range picker (v3) component.
 *
 * @see https://blueprintjs.com/docs/#datetime2/date-range-picker3
 */
export declare class DateRangePicker3 extends DateFnsLocalizedComponent<DateRangePicker3Props, DateRangePicker3State> {
    static defaultProps: DateRangePicker3DefaultProps;
    static displayName: string;
    private modifiers;
    private modifiersClassNames;
    private initialMonthAndYear;
    constructor(props: DateRangePicker3Props);
    render(): React.JSX.Element;
    componentDidMount(): Promise<void>;
    componentDidUpdate(prevProps: DateRangePicker3Props): Promise<void>;
    protected validateProps(props: DateRangePicker3Props): void;
    private maybeRenderShortcuts;
    private maybeRenderTimePickers;
    private handleTimeChange;
    private getDefaultDate;
    private handleTimeChangeLeftCalendar;
    private handleTimeChangeRightCalendar;
    /**
     * Render a standard day range picker where props.contiguousCalendarMonths is expected to be `true`.
     */
    private renderContiguousDayRangePicker;
    /**
     * react-day-picker doesn't have built-in support for non-contiguous calendar months in its range picker,
     * so we have to implement this ourselves.
     */
    private renderNonContiguousDayRangePicker;
    private get resolvedDayPickerProps();
    /**
     * Custom formatter to render weekday names in the calendar header. The default formatter generally works fine,
     * but it was returning CAPITALIZED strings for some reason, while we prefer Title Case.
     */
    private formatWeekdayName;
    private handleDayMouseEnter;
    private handleDayMouseLeave;
    private handleDayRangeSelect;
    private handleShortcutClick;
    private updateSelectedRange;
}
