import React from "react";
import type { DateRangePickerProps, DateRangePickerState, DateRangePickerSize, DateRangePickerTheme, DateRange } from "./DateRangePicker.types";
import { DateRangePickerTrigger } from "./DateRangePickerTrigger";
import { DateRangePickerBody } from "./DateRangePickerBody";
import { DateRangePickerPresets } from "./DateRangePickerPresets";
interface DateRangePickerContextType {
    isOpen: boolean;
    setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;
    selectedRange: DateRange | undefined;
    handleRangeSelect: (range: DateRange) => void;
    minDate?: Date;
    maxDate?: Date;
    isDateDisabled?: (date: Date) => boolean;
    showToday?: boolean;
    weekdays?: string[];
    months?: string[];
    yearRange?: {
        start: number;
        end: number;
    };
    size: DateRangePickerSize;
    state: DateRangePickerState;
    theme: DateRangePickerTheme;
    triggerRef: React.RefObject<HTMLButtonElement | null>;
    contentRef: React.RefObject<HTMLDivElement | null>;
}
export declare const DateRangePickerContext: React.Context<DateRangePickerContextType | undefined>;
/**
 * DateRangePicker Component — dedicated range picker with presets and dual calendars
 */
declare const DateRangePickerComponent: React.ForwardRefExoticComponent<DateRangePickerProps & React.RefAttributes<HTMLDivElement>>;
declare const DateRangePickerWithCompounds: typeof DateRangePickerComponent & {
    Trigger: typeof DateRangePickerTrigger;
    Body: typeof DateRangePickerBody;
    Presets: typeof DateRangePickerPresets;
};
export { DateRangePickerTrigger, DateRangePickerBody, DateRangePickerPresets, DateRangePickerWithCompounds as DateRangePicker, };
