import { PureComponent, KeyboardEvent } from 'react'; import { Size, MonthFormat, type SizeSmall, type SizeMedium, type SizeLarge } from '../common'; import { WithInputAttributesProps } from '../inputs/contexts'; export interface DateLookupProps { id?: string; value: Date | null; min?: Date | null; max?: Date | null; size?: SizeSmall | SizeMedium | SizeLarge; placeholder?: string; label?: string; 'aria-labelledby'?: string; monthFormat?: `${MonthFormat}`; disabled?: boolean; clearable?: boolean; onChange: (date: Date | null) => void; onFocus?: () => void; onBlur?: () => void; } type DateLookupPropsWithInputAttributes = DateLookupProps & Partial; interface DateLookupState { selectedDate: Date | null; originalDate: Date | null; min: Date | null; max: Date | null; viewMonth: number; viewYear: number; open: boolean; mode: 'day' | 'month' | 'year'; isMobile: boolean; } declare class DateLookup extends PureComponent { props: DateLookupPropsWithInputAttributes & Required>; static defaultProps: { value: null; min: null; max: null; size: Size.MEDIUM; placeholder: string; label: string; monthFormat: MonthFormat.LONG; disabled: false; clearable: false; }; element: import("react").RefObject; dropdown: import("react").RefObject; constructor(props: DateLookup['props']); static getDerivedStateFromProps(props: DateLookup['props'], state: DateLookupState): { selectedDate: Date | null; min: Date | null; max: Date | null; viewMonth: number; viewYear: number; } | null; componentDidUpdate(previousProps: DateLookupPropsWithInputAttributes): void; componentWillUnmount(): void; open: () => void; discard: () => void; close: () => void; handleKeyDown: (event: KeyboardEvent) => void; adjustDate: (daysToAdd: number, monthsToAdd: number, yearsToAdd: number) => void; focusOn: (preferredElement: string, fallbackElement?: string) => void; switchMode: (mode: "day" | "month" | "year") => void; switchToDays: () => void; switchToMonths: () => void; switchToYears: () => void; handleSelectedDateUpdate: (selectedDate: Date) => void; handleViewDateUpdate: ({ month, year }: { month?: number | undefined; year?: number | undefined; }) => void; getCalendar: () => import("react").JSX.Element; handleClear: () => void; render(): import("react").JSX.Element; } export declare const DateLookupWithoutInputAttributes: typeof DateLookup; declare const WrappedDateLookup: { (props: Omit): import("react").JSX.Element; displayName: string; }; export default WrappedDateLookup; //# sourceMappingURL=DateLookup.d.ts.map