import { DateRangePickerProps as AriaDateRangePickerProps, DateValue } from 'react-aria-components/DateRangePicker';
import { ContextValue } from 'react-aria-components/slots';
import { ReactElement, ReactNode } from 'react';
import { StyleProps } from './style-utils';
import { GlobalDOMAttributes, HelpTextProps, SpectrumLabelableProps } from '@react-types/shared';
import { PopoverProps } from 'react-aria-components/Popover';
import { RangeCalendarProps } from './RangeCalendar';
export interface DateRangePickerProps<T extends DateValue> extends Omit<AriaDateRangePickerProps<T>, 'children' | 'className' | 'style' | 'render' | keyof GlobalDOMAttributes>, Pick<RangeCalendarProps<T>, 'createCalendar' | 'pageBehavior' | 'firstDayOfWeek' | 'isDateUnavailable' | 'interactOutsideBehavior'>, Pick<PopoverProps, 'shouldFlip'>, StyleProps, SpectrumLabelableProps, HelpTextProps {
    /**
     * The size of the DateField.
     *
     * @default 'M'
     */
    size?: 'S' | 'M' | 'L' | 'XL';
    /**
     * The maximum number of months to display at once in the calendar popover, if screen space permits.
     * @default 1
     */
    maxVisibleMonths?: number;
    /**
     * The error message to display when the calendar is invalid.
     */
    errorMessage?: ReactNode;
}
export declare const DateRangePickerContext: import("react").Context<ContextValue<Partial<DateRangePickerProps<any>>, HTMLDivElement>>;
/**
 * DateRangePickers combine two DateFields and a RangeCalendar popover to allow users
 * to enter or select a date and time range.
 */
export declare const DateRangePicker: <T extends DateValue>(props: DateRangePickerProps<T> & import("react").RefAttributes<HTMLDivElement>) => ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | null;
