import * as React from 'react'; import type { DateIOAdapter } from './utils/types'; import DateHelpers from './utils/date-helpers'; import type { CalendarProps, CalendarInternalState } from './types'; export default class Calendar extends React.Component, CalendarInternalState> { static defaultProps: CalendarProps & { adapter: DateIOAdapter; }; dateHelpers: DateHelpers; calendar: HTMLElement; constructor(props: CalendarProps); componentDidMount(): void; componentDidUpdate(prevProps: CalendarProps): void; isInView(date: T): boolean; getSingleDate(value: T | undefined | null | Array): T | undefined | null; getDateInView: () => T; handleMonthChange: (a: T) => void; handleYearChange: (a: T) => void; changeMonth: (a: { date: T; }) => unknown; changeYear: (a: { date: T; }) => unknown; renderCalendarHeader: (b: T, a: number) => React.ReactNode; onKeyDown: (event: KeyboardEvent) => void; handleArrowKey: (key: string) => void; focusCalendar: () => void; blurCalendar: () => void; handleTabbing: (event: KeyboardEvent) => void; onDayFocus: (a: { event: Event; date: T; }) => unknown; onDayMouseOver: (a: { event: Event; date: T; }) => unknown; onDayMouseLeave: (a: { event: Event; date: T; }) => unknown; /** Responsible for merging time values into date values. Note: the 'Day' component * determines how the days themselves change when a new day is selected. */ handleDateChange: (a: { readonly date: T | undefined | null | Array; }) => void; handleTimeChange: (time: T, index: number) => void; setHighlightedDate(date: T): void; renderMonths: (translations: { ariaRoleDescCalMonth: string; }) => import("react/jsx-runtime").JSX.Element; renderTimeSelect: (c: T | undefined | null, b: Function, a: string) => React.ReactNode; renderQuickSelect: () => import("react/jsx-runtime").JSX.Element | null; render(): import("react/jsx-runtime").JSX.Element; }