import { DateValue } from "@internationalized/date"; import { SyntheticEvent } from "react"; import { UseMultiSelectionCalendarProps, UseOffsetSelectionCalendarProps, UseRangeSelectionCalendarProps, UseSingleSelectionCalendarProps } from "./useSelection"; export declare type UnselectableInfo = { emphasis: "medium"; tooltip: string; } | { emphasis: "low"; tooltip?: string; }; interface BaseUseCalendarProps { defaultVisibleMonth?: DateValue; onVisibleMonthChange?: (event: SyntheticEvent, visibleMonth: DateValue) => void; isDayUnselectable?: (date: DateValue) => UnselectableInfo | boolean | void; visibleMonth?: DateValue; hideOutOfRangeDates?: boolean; hideYearDropdown?: boolean; minDate?: DateValue; maxDate?: DateValue; } export declare type useCalendarProps = (Omit | Omit | Omit | Omit) & BaseUseCalendarProps; export declare function useCalendar(props: useCalendarProps): { state: { selectedDate: import("@internationalized/date").CalendarDate | import("@internationalized/date").CalendarDateTime | import("@internationalized/date").ZonedDateTime | { startDate?: DateValue | undefined; endDate?: DateValue | undefined; } | { startDate?: DateValue | undefined; endDate?: DateValue | undefined; } | DateValue[] | null | undefined; hoveredDate: import("@internationalized/date").CalendarDate | import("@internationalized/date").CalendarDateTime | import("@internationalized/date").ZonedDateTime | null | undefined; visibleMonth: DateValue; focusedDate: DateValue; minDate: DateValue | undefined; maxDate: DateValue | undefined; selectionVariant: "default" | "range" | "offset" | "multiselect"; hideOutOfRangeDates: boolean | undefined; calendarFocused: boolean; }; helpers: { setSelectedDate: (event: SyntheticEvent, newSelectedDate: DateValue) => void; isSelected: (date: DateValue) => boolean; setHoveredDate: (event: SyntheticEvent, date: DateValue | null) => void; isHovered: (date: DateValue) => boolean; isSelectedSpan: (date: DateValue) => boolean; isHoveredSpan: (date: DateValue) => boolean; isSelectedStart: (date: DateValue) => boolean; isSelectedEnd: (date: DateValue) => boolean; isHoveredOffset: (date: DateValue) => boolean; setVisibleMonth: (event: SyntheticEvent, newVisibleMonth: DateValue) => void; setFocusedDate: (event: SyntheticEvent, date: DateValue) => void; setCalendarFocused: import("react").Dispatch>; isDayUnselectable: (date: DateValue) => boolean | void | UnselectableInfo; isDayVisible: (date: DateValue) => boolean; isOutsideAllowedDates: (date: DateValue) => boolean; isOutsideAllowedMonths: (date: DateValue) => boolean; isOutsideAllowedYears: (date: DateValue) => boolean; }; }; export {};