import * as react from 'react'; import { DateValue } from '@internationalized/date'; import { DateInputProps } from '@heroui/date-input'; import { DatePickerState } from '@react-stately/datepicker'; import { ButtonProps } from '@heroui/button'; import { CalendarProps } from '@heroui/calendar'; import { PopoverProps } from '@heroui/popover'; import { UseDatePickerBaseProps } from './use-date-picker-base.js'; import { DOMAttributes } from '@heroui/system'; import { SlotsToClasses, DatePickerSlots } from '@heroui/theme'; import { AriaDatePickerProps } from '@react-aria/datepicker'; import '@react-aria/i18n'; 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; 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 { type UseDatePickerProps, type UseDatePickerReturn, useDatePicker };