///
import { PropsBase } from 'react-day-picker';
import { InputProps } from '../input/input';
import { PopoverContentProps } from '../popover/popover';
import { type CalendarPropsExtended } from './calendar';
type DatePickerCalendarSlot = Omit & CalendarPropsExtended;
export interface DatePickerSlotProps {
input?: InputProps;
calendar?: DatePickerCalendarSlot;
popover?: PopoverContentProps;
}
export interface DatePickerProps {
dateFormat?: string;
/**
* Props for each picker slot. When both this and the legacy
* `inputProps`/`calendarProps`/`popoverProps` are set, `slotProps` wins.
*/
slotProps?: DatePickerSlotProps;
/** @deprecated Use `slotProps.input` instead. */
inputProps?: InputProps;
/** @deprecated Use `slotProps.calendar` instead. */
calendarProps?: DatePickerCalendarSlot;
/** @deprecated Use `slotProps.popover` instead. */
popoverProps?: PopoverContentProps;
onSelect?: (date: Date) => void;
/**
* Fires when the typed-input validation state changes: with a message when
* the typed text stops parsing as a valid in-bounds date, and with
* `undefined` when it becomes valid again (or the picker commits/closes).
* DatePicker renders no error UI of its own — not even `aria-invalid`.
* Lift this into `Field`'s `error` prop (or your form library) to display
* it; `Field` also wires `aria-invalid` onto the input.
*/
onErrorChange?: (error: string | undefined) => void;
value?: Date;
defaultValue?: Date;
children?: React.ReactNode | ((props: {
selectedDate: string;
}) => React.ReactNode);
showCalendarIcon?: boolean;
timeZone?: string;
}
export declare function DatePicker({ dateFormat, slotProps, inputProps: legacyInputProps, calendarProps: legacyCalendarProps, popoverProps: legacyPopoverProps, value: valueProp, defaultValue, onSelect, onErrorChange, children, showCalendarIcon, timeZone }: DatePickerProps): import("react/jsx-runtime").JSX.Element;
export declare namespace DatePicker {
var displayName: string;
}
export {};
//# sourceMappingURL=date-picker.d.ts.map