import { type RefObject } from 'react'; import { type CalendarSingleProps, type DisabledDayMatchers } from "../Calendar"; import { type DateInputFieldProps } from './subcomponents/DateInputField'; import type { ValidationResponse } from './types'; import { type DatePickerSupportedLocales } from './utils/getLocale'; type OmittedDateInputFieldProps = 'onClick' | 'onFocus' | 'onChange' | 'onBlur' | 'onButtonClick' | 'value' | 'locale' | 'id'; export type DatePickerProps = { id?: string; buttonRef?: RefObject; onInputClick?: DateInputFieldProps['onClick']; onInputFocus?: DateInputFieldProps['onFocus']; onInputChange?: DateInputFieldProps['onChange']; onInputBlur?: DateInputFieldProps['onBlur']; onButtonClick?: DateInputFieldProps['onButtonClick']; locale?: DatePickerSupportedLocales; /** * Accepts a DayOfWeek value to start the week on that day. * By default it adapts to the provided locale. */ weekStartsOn?: CalendarSingleProps['weekStartsOn']; /** * Accepts a date to display that month on first render. */ defaultMonth?: CalendarSingleProps['defaultMonth']; /** * The date passed in from the consumer that renders in the input and calendar. */ selectedDay: Date | undefined; /** * Callback when date is updated either by the calendar picker or by typing and bluring. * Date will return as undefined if invalid or disabled. */ onDayChange: (date: Date | undefined) => void; /** * Callback when a date is selected. Utilises internal validation if not set. */ onValidate?: (validationResponse: ValidationResponse) => void; /** * Updates the styling of the validation FieldMessage. */ status?: DateInputFieldProps['status'] | undefined; /** * A descriptive message for the 'status' states. */ validationMessage?: DateInputFieldProps['validationMessage'] | undefined; } & DisabledDayMatchers & Omit; /** * {@link https://cultureamp.atlassian.net/wiki/spaces/DesignSystem/pages/3082061174/Date+Picker Guidance} | * {@link https://cultureamp.design/?path=/docs/components-date-controls-datepicker--docs Storybook} */ export declare const DatePicker: { ({ id: propsId, buttonRef: propsButtonRef, locale: propsLocale, disabledDates, disabledDaysOfWeek, disabledRange, disabledBeforeAfter, disabledBefore, disabledAfter, weekStartsOn, defaultMonth, selectedDay, status, validationMessage, onInputClick, onInputFocus, onInputChange, onInputBlur, onButtonClick, onDayChange, onValidate, ...restDateInputFieldProps }: DatePickerProps): JSX.Element; displayName: string; }; export {};