import * as react from 'react'; import { DateValue } from '@internationalized/date'; import { DateInputProps } from '@nextui-org/date-input'; import { DatePickerState } from '@react-stately/datepicker'; import { ButtonProps } from '@nextui-org/button'; import { CalendarProps } from '@nextui-org/calendar'; import { PopoverProps } from '@nextui-org/popover'; import { UseDatePickerBaseProps } from './use-date-picker-base.js'; import { DOMAttributes } from '@nextui-org/system'; import { SlotsToClasses, DatePickerSlots } from '@nextui-org/theme'; import { AriaDatePickerProps } from '@react-aria/datepicker'; import '@react-types/datepicker'; import '@react-types/shared'; interface Props extends UseDatePickerBaseProps { } interface Props extends Omit, keyof AriaDatePickerProps> { /** * Classname or List of classes to change the classNames of the element. * if `className` is passed, it will be added to the base slot. * * @example * ```ts * * ``` */ classNames?: SlotsToClasses & DateInputProps["classNames"]; } type UseDatePickerProps = Props & AriaDatePickerProps & { /** * Classname or List of classes to change the classNames of the date input element. */ dateInputClassNames?: DateInputProps["classNames"]; }; declare function useDatePicker({ className, classNames, ...originalProps }: UseDatePickerProps): { state: DatePickerState; startContent: react.ReactNode; endContent: react.ReactNode; selectorIcon: react.ReactNode; showTimeField: boolean; isCalendarHeaderExpanded: boolean | undefined; disableAnimation: boolean; CalendarTopContent: react.ReactNode; CalendarBottomContent: react.ReactNode; getDateInputProps: () => DateInputProps; getPopoverProps: (props?: DOMAttributes) => PopoverProps; getSelectorButtonProps: () => ButtonProps; getCalendarProps: () => CalendarProps; getTimeInputProps: () => {}; getSelectorIconProps: () => { className: string; "data-slot": string; }; }; type UseDatePickerReturn = ReturnType; export { UseDatePickerProps, UseDatePickerReturn, useDatePicker };