import { Component, SyntheticEvent, MouseEvent } from 'react'; import { ApplyLocaleContext } from '@instructure/ui-i18n'; import type { Moment } from '@instructure/ui-i18n'; import type { DateTimeInputProps, DateTimeInputState } from './props'; /** --- category: components --- **/ declare class DateTimeInput extends Component { private static readonly DEFAULT_MESSAGE_FORMAT; static allowedProps: readonly (keyof DateTimeInputProps)[]; static defaultProps: { readonly layout: "inline"; readonly colSpacing: "medium"; readonly rowSpacing: "small"; readonly timeStep: 30; readonly showMessages: true; readonly messageFormat: "LLLL"; readonly isRequired: false; readonly dateFormat: "LL"; readonly allowNonStepInput: false; }; context: React.ContextType; static contextType: import("react").Context<{ locale?: string; timezone?: string; }>; ref: Element | null; handleRef: (el: Element | null) => void; constructor(props: DateTimeInputProps); componentDidMount(): void; componentDidUpdate(prevProps: Readonly): void; recalculateState(dateStr?: string, doNotChangeDate?: boolean, doNotChangeTime?: boolean): DateTimeInputState; reset: () => void; locale(): string; timezone(): string; get dateFormat(): string | undefined; isDisabledDate(date: Moment): boolean; handleDateTextChange: (_event: SyntheticEvent, date: { value: string; }) => void; tryParseDate(val: string): Moment | null; handleDayClick: (event: MouseEvent, { date }: { date: string; }) => void; handleHideCalendar: (event: SyntheticEvent) => void; updateStateBasedOnDateInput(dateParsed: Moment | null | undefined, event: SyntheticEvent): void; updateStateBasedOnTimeSelect: (event: SyntheticEvent, option: { value?: string; inputText: string; }) => void; changeStateIfNeeded: (newState: DateTimeInputState, e: SyntheticEvent) => void; areDifferentDates: (d1?: Moment, d2?: Moment) => boolean; handleBlur: (e: SyntheticEvent) => void; handleShowCalendar: (_event: SyntheticEvent) => void; handleSelectNextDay: (_event: SyntheticEvent) => void; handleSelectPrevDay: (_event: SyntheticEvent) => void; handleRenderNextMonth: (_event: SyntheticEvent) => void; handleRenderPrevMonth: (_event: SyntheticEvent) => void; renderDays(): import("@emotion/react/jsx-runtime").JSX.Element[]; get defaultWeekdays(): import("@emotion/react/jsx-runtime").JSX.Element[]; renderNextPrevMonthButton(type: 'prev' | 'next'): import("@emotion/react/jsx-runtime").JSX.Element | undefined; render(): import("@emotion/react/jsx-runtime").JSX.Element; } export default DateTimeInput; export { DateTimeInput }; //# sourceMappingURL=index.d.ts.map