import type { CalendarDay } from "../types/calendar"; export interface DateRange { start: Date; end: Date; } export interface UseCalendarRangeOptions { initialYear?: number; initialMonth?: number; initialRange?: DateRange; onRangeSelect?: (range: DateRange) => void; onMonthChange?: (year: number, month: number) => void; minDate?: Date; maxDate?: Date; minRangeDuration?: number; maxRangeDuration?: number; } export interface UseCalendarRangeReturn { year: number; month: number; days: CalendarDay[]; selectedRange: DateRange | null; selectDate: (date: Date) => void; setRange: (range: DateRange) => void; clearRange: () => void; isDateInRange: (date: Date) => boolean; isRangeStart: (date: Date) => boolean; isRangeEnd: (date: Date) => boolean; isTempStart: (date: Date) => boolean; isToday: (date: Date) => boolean; previousMonth: () => void; nextMonth: () => void; goToMonth: (year: number, month: number) => void; goToToday: () => void; rangeSelectionMode: "start" | "end" | "complete"; } export declare function useCalendarRange(options?: UseCalendarRangeOptions): UseCalendarRangeReturn;