import { CalendarDate } from '@internationalized/date'; import { CalendarState } from 'react-stately/useCalendarState'; import { DOMAttributes } from '@react-types/shared'; import { RangeCalendarState } from 'react-stately/useRangeCalendarState'; export interface AriaCalendarGridProps { /** * The first date displayed in the calendar grid. * Defaults to the first visible date in the calendar. * Override this to display multiple date grids in a calendar. */ startDate?: CalendarDate; /** * The last date displayed in the calendar grid. * Defaults to the last visible date in the calendar. * Override this to display multiple date grids in a calendar. */ endDate?: CalendarDate; /** * The style of weekday names to display in the calendar grid header, * e.g. single letter, abbreviation, or full day name. * @default "narrow" */ weekdayStyle?: 'narrow' | 'short' | 'long'; /** * The day that starts the week. */ firstDayOfWeek?: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'; } export interface CalendarGridAria { /** Props for the date grid element (e.g. ``). */ gridProps: DOMAttributes; /** Props for the grid header element (e.g. ``). */ headerProps: DOMAttributes; /** A list of week day abbreviations formatted for the current locale, typically used in column headers. */ weekDays: string[]; /** The number of weeks in the month. */ weeksInMonth: number; } /** * Provides the behavior and accessibility implementation for a calendar grid component. * A calendar grid displays a single grid of days within a calendar or range calendar which * can be keyboard navigated and selected by the user. */ export declare function useCalendarGrid(props: AriaCalendarGridProps, state: CalendarState | RangeCalendarState): CalendarGridAria;