import { Component, ReactElement, MouseEvent } from 'react'; import { ApplyLocaleContext } from '@instructure/ui-i18n'; import type { Moment } from '@instructure/ui-i18n'; import { Day } from './Day'; import type { CalendarProps, CalendarState } from './props'; import { Renderable } from '@instructure/shared-types'; /** --- category: components --- **/ declare class Calendar extends Component { static readonly componentId = "Calendar"; context: React.ContextType; static contextType: import("react").Context<{ locale?: string; timezone?: string; }>; static Day: typeof Day; static DAY_COUNT: number; static allowedProps: readonly (keyof { as?: import("@instructure/shared-types").AsElementType; children?: ReactElement[]; currentDate?: string; disabledDates?: string[] | ((isoDateToCheck: string) => boolean); locale?: string; onDateSelected?: (dateString: string, momentDate: Moment, e: React.MouseEvent) => void; onRequestRenderNextMonth?: (e: React.MouseEvent, requestedMonth: string) => void; onRequestRenderPrevMonth?: (e: React.MouseEvent, requestedMonth: string) => void; renderNavigationLabel?: Renderable; renderNextMonthButton?: Renderable; renderPrevMonthButton?: Renderable; renderWeekdayLabels?: Renderable[]; role?: "table" | "listbox"; selectedDate?: string; timezone?: string; visibleMonth?: string; withYearPicker?: { screenReaderLabel: string; onRequestYearChange?: (e: any, requestedYear: number) => void; startYear: number; endYear: number; }; })[]; static defaultProps: { as: string; role: string; }; ref: Element | null; private _weekdayHeaderIds; constructor(props: CalendarProps); handleRef: (el: Element | null) => void; componentDidMount(): void; componentDidUpdate(prevProps: CalendarProps): void; calculateState: (locale: string, timezone: string, currentDate?: string) => { visibleMonth: Moment; today: Moment; }; get role(): "listbox" | undefined; get hasPrevMonth(): boolean; get hasNextMonth(): boolean; renderMonthNavigationButtons: () => { prevButton: any; nextButton: any; }; handleMonthChange: (direction: "prev" | "next") => (e: React.MouseEvent) => void; handleYearChange: (e: React.SyntheticEvent, year: string) => void; renderHeader(): import("@emotion/react/jsx-runtime").JSX.Element; renderBody(): import("@emotion/react/jsx-runtime").JSX.Element; renderWeekdayHeaders(): import("@emotion/react/jsx-runtime").JSX.Element; get defaultWeekdays(): Renderable[]; renderDays(): import("@emotion/react/jsx-runtime").JSX.Element[]; locale(): string; timezone(): string; handleDayClick: (event: MouseEvent, { date }: { date: string; }) => void; isDisabledDate(date: Moment): boolean; renderDefaultdays(): import("@emotion/react/jsx-runtime").JSX.Element[]; render(): import("@emotion/react/jsx-runtime").JSX.Element; } export default Calendar; export { Calendar }; //# sourceMappingURL=index.d.ts.map