import { InputSize } from './types'; export type ViewMode = 'days' | 'months' | 'years'; export interface ViewModeProps { currentViewMode: ViewMode; onViewModeChange: (mode: ViewMode) => void; } export interface DateRange { start: Date | null; end: Date | null; } export interface DateRangeProps { selectedRange: DateRange; onRangeChange: (range: DateRange) => void; minDate?: Date; maxDate?: Date; } export interface RangeSelectionState { isSelectingStart: boolean; isSelectingEnd: boolean; hoverDate: Date | null; } /** Configuración agrupada de hora en el popup del DatePicker (single y range). */ export interface DatePickerTimeProps { /** * Interruptor maestro de visibilidad de hora: panel TimePickerPanel, input datetime read-only * y fusión de hora al elegir día. Por defecto `false` (solo fecha). */ showTime?: boolean; /** Cuando `showTime` es true: panel de hora editable (`true`, por defecto) o solo lectura (`false`). */ enabled?: boolean; /** Al fijar extremo sin hora previa, usa hora actual del cliente. Por defecto `true`; con `false` → 12:00 AM. */ currentTime?: boolean; /** Incluye segundos en el selector y en el formato del input. Por defecto `true`. */ showSeconds?: boolean; } export interface DatePickerProps { size?: InputSize; mode?: 'single' | 'range'; selectedDate?: Date | null; selectedRange?: DateRange; onDateChange?: (date: Date | null) => void; onRangeChange?: (range: DateRange) => void; minDate?: Date; maxDate?: Date; locale?: string; weekDays?: string[]; monthNames?: string[]; startOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6; className?: string; inputClassName?: string; headerClassName?: string; dayClassName?: string | ((day: Date, state: { isSelected: boolean; isInRange: boolean; isStart: boolean; isEnd: boolean; isDisabled: boolean; isToday: boolean; }) => string); monthClassName?: string | ((month: number) => string); yearClassName?: string | ((year: number) => string); disabledDayClassName?: string; rangeClassName?: string; rangeStartClassName?: string; rangeEndClassName?: string; todayClassName?: string; showWeekNumbers?: boolean; yearRange?: number; initialViewMode?: ViewMode; closeOnSelect?: boolean; autoCloseRange?: boolean; placeholder?: string; format?: string; /** Configuración agrupada de fecha y hora en el popup. Prevalece sobre props planas legacy si hay conflicto. */ time?: DatePickerTimeProps; /** * Interruptor maestro de visibilidad de hora. * * @deprecated Usar `time.showTime`. */ showTime?: boolean; /** * Incluye segundos cuando la hora está activa. * * @deprecated Usar `time.showSeconds`. */ showSeconds?: boolean; calendarsCount?: number; label?: string; /** Si es true, el control no es interactivo: no abre el calendario al pulsar el campo ni el icono. */ disabled?: boolean; renderHeader?: (props: { currentDate: Date; viewMode: ViewMode; toggleViewMode: () => void; navigate: (direction: 'prev' | 'next') => void; }) => React.ReactNode; renderDay?: (props: { day: number; date: Date; isSelected: boolean; isInRange: boolean; isStart: boolean; isEnd: boolean; isDisabled: boolean; isToday: boolean; }) => React.ReactNode; } //# sourceMappingURL=datepicker.d.ts.map