import { FocusEvent } from 'react'; import { type RequiredLabelProps } from '../label/label'; import { type ToggletipProps } from '../toggletip'; import { type TooltipProps } from '../tooltip'; import { DayOfWeek, SupportedLocale } from './utils'; export interface DatepickerHandles { reset(): void; setDate(date: Date): void; } export interface DatepickerProps { className?: string; /** Sets default selected date */ defaultDate?: Date; /** Sets date format (e.g.: dd/MM/yyyy). */ dateFormat?: string; 'data-testid'?: string; disabled?: boolean; /** Disables default margin */ noMargin?: boolean; firstDayOfWeek?: DayOfWeek; hasTodayButton?: boolean; id?: string; /** Sets input label */ label?: string; tooltip?: TooltipProps; toggletip?: ToggletipProps; /** * Sets localization * @default en-CA */ locale?: SupportedLocale; maxDate?: Date | null; minDate?: Date | null; /** Sets input name */ name?: string; /** Toggles calendar (controlled) */ open?: boolean; placeholder?: string; readOnly?: boolean; required?: boolean; /** * @default 'text' */ requiredLabelType?: RequiredLabelProps['type']; /** Sets calendar date when initially open */ openToDate?: Date | null; /** Sets calendar initially open (uncontrolled) */ startOpen?: boolean; /** * Only allow input that strictly conforms to dateFormat * @default false */ strictDateFormat?: boolean; tabIndex?: number; /** * Sets input validity * @default true */ valid?: boolean; /** Sets error message */ validationErrorMessage?: string; /** Sets input value (controlled) */ value?: string; hint?: string; onBlur?(event: FocusEvent): void; onCalendarClose?(): void; onCalendarOpen?(): void; onChange?(date: Date | null): void; onFocus?(event: FocusEvent): void; } export declare const Datepicker: import("react").ForwardRefExoticComponent>;