import { Component, ReactElement } from 'react'; import type { CalendarDayProps } from '@instructure/ui-calendar/v11_6'; import type { SelectableProps, SelectableRender } from '@instructure/ui-selectable'; import type { TextInputProps } from '@instructure/ui-text-input/v11_6'; import { ApplyLocaleContext } from '@instructure/ui-i18n'; import type { DateInputProps, DateInputState } from './props'; import type { FormMessage } from '@instructure/ui-form-field/v11_6'; /** --- category: components --- **/ declare class DateInput extends Component { static readonly componentId = "DateInput"; static Day: typeof import("@instructure/ui-calendar/v11_6").CalendarDay; context: React.ContextType; static allowedProps: readonly (keyof { renderLabel: import("@instructure/shared-types").Renderable; value?: string; size?: "small" | "medium" | "large"; placeholder?: string; onChange?: (event: React.ChangeEvent, value: { value: string; }) => void; onBlur?: (event: React.SyntheticEvent) => void; interaction?: "enabled" | "disabled" | "readonly"; isRequired?: boolean; isInline?: boolean; assistiveText?: string; layout?: "stacked" | "inline"; width?: string; display?: "inline-block" | "block"; inputRef?: (element: HTMLInputElement | null) => void; messages?: FormMessage[]; placement?: import("@instructure/ui-position").PlacementPropValues; isShowingCalendar?: boolean; onRequestValidateDate?: (event: import("react").SyntheticEvent, dateString?: string, validation?: FormMessage[]) => void | FormMessage[]; onRequestShowCalendar?: (event: import("react").SyntheticEvent) => void; onRequestHideCalendar?: (event: import("react").SyntheticEvent) => void; onRequestSelectNextDay?: (event: import("react").SyntheticEvent) => void; onRequestSelectPrevDay?: (event: import("react").SyntheticEvent) => void; onRequestRenderNextMonth?: (e: React.MouseEvent) => void; onRequestRenderPrevMonth?: (e: React.MouseEvent) => void; renderNavigationLabel?: React.ReactNode | (() => React.ReactNode); renderWeekdayLabels?: (React.ReactNode | (() => React.ReactNode))[]; renderNextMonthButton?: import("@instructure/shared-types").Renderable; renderPrevMonthButton?: import("@instructure/shared-types").Renderable; children?: ReactElement[]; disabledDates?: string[] | ((isoDateToCheck: string) => boolean); currentDate?: string; invalidDateErrorMessage?: string | ((rawDateValue: string) => FormMessage); disabledDateErrorMessage?: string | ((rawDateValue: string) => FormMessage); locale?: string; timezone?: string; withYearPicker?: { screenReaderLabel: string; onRequestYearChange?: (e: any, requestedYear: number) => void; startYear: number; endYear: number; }; })[]; static defaultProps: { value: string; size: string; onBlur: () => void; isRequired: boolean; isInline: boolean; layout: string; display: string; placement: string; isShowingCalendar: boolean; }; state: { hasInputRef: boolean; isShowingCalendar: boolean; validatedDate: undefined; messages: never[]; }; _input?: HTMLInputElement | null; ref: Element | null; locale(): string; timezone(): string; componentDidMount(): void; componentDidUpdate(): void; get selectedDateId(): string | undefined; get interaction(): import("@instructure/ui-react-utils").InteractionType; formatDateId: (date: string) => string; handleInputRef: TextInputProps['inputRef']; handleInputChange: TextInputProps['onChange']; handleShowCalendar: (event: React.SyntheticEvent) => void; validateDate: (date: string) => FormMessage[]; handleHideCalendar: (event: React.SyntheticEvent, setectedDate?: string) => void; handleHighlightOption: SelectableProps['onRequestHighlightOption']; renderMonthNavigationButton(type?: string): any; renderDays(getOptionProps: SelectableRender['getOptionProps']): ReactElement>[] | undefined; renderCalendar({ getListProps, getOptionProps }: { getListProps: SelectableRender['getListProps']; getOptionProps: SelectableRender['getOptionProps']; }): import("@emotion/react/jsx-runtime").JSX.Element; renderInput({ getInputProps, getTriggerProps }: { getInputProps: SelectableRender['getInputProps']; getTriggerProps: SelectableRender['getInputProps']; }): import("@emotion/react/jsx-runtime").JSX.Element; shouldShowCalendar: () => boolean | undefined; render(): import("@emotion/react/jsx-runtime").JSX.Element; } export default DateInput; export { DateInput }; //# sourceMappingURL=index.d.ts.map