import { Dayjs } from 'dayjs'; export interface UseSingleDateStateOptions { value: Dayjs | null; defaultDate: Dayjs; /** Transforms a clicked date before storing; pass time-of-day defaults for datetime variants. */ mapDate?: (date: Dayjs) => Dayjs; /** Called when a date is selected; used for auto-apply in date-only variants. */ onDateSelected?: (date: Dayjs) => void; } export interface UseSingleDateStateReturn { tempDate: Dayjs | null; displayedMonth: Dayjs; /** Synchronous ref — use inside callbacks to avoid stale closures. */ stateRef: React.MutableRefObject<{ tempDate: Dayjs | null; }>; handleDateClick: (date: Dayjs) => void; handleMonthChange: (month: Dayjs) => void; /** Returns true when a date was cleared, false when already empty. */ clearDate: () => boolean; resetDate: (value: Dayjs | null) => void; } export declare const useSingleDateState: ({ value, defaultDate, mapDate, onDateSelected, }: UseSingleDateStateOptions) => UseSingleDateStateReturn;