import type { DateRange } from "react-day-picker";
type RangeTuple = [Date | null, Date | null];
interface UseRangePickerOptions {
    currentValue: unknown;
    showTime: boolean;
    needConfirm: boolean;
    commitValue: (value: Date | [Date, Date] | null) => void;
    setPendingDate: (date: Date | null) => void;
    setOpen: (open: boolean) => void;
}
export declare const useRangePicker: ({ currentValue, showTime, needConfirm, commitValue, setPendingDate, setOpen, }: UseRangePickerOptions) => {
    pendingRange: RangeTuple | null;
    rangeSelectionStep: "from" | "to";
    hoveredDate: Date | null;
    handleRangeSelect: (_range: {
        from?: Date;
        to?: Date;
    } | undefined, triggerDate: Date) => void;
    handleHoverIn: (e: React.MouseEvent<HTMLElement>) => void;
    handleHoverOut: () => void;
    memoizedRangeSelected: DateRange | undefined;
    getPreviewParts: () => {
        from: Date | null;
        to: Date | null;
    };
    resetTransientState: () => void;
};
export {};
