import { CalendarDateInput, CalendarView } from './types'; export declare const MS_PER_DAY = 86400000; export declare const MINUTES_PER_DAY = 1440; export declare function toDate(value: CalendarDateInput): Date; export declare function isValidDate(date: Date): boolean; export declare function startOfDay(date: Date): Date; export declare function endOfDay(date: Date): Date; export declare function addDays(date: Date, amount: number): Date; export declare function addMinutes(date: Date, amount: number): Date; export declare function daysInMonth(date: Date): number; /** Suma meses sin desbordar (31 de enero + 1 mes = 28/29 de febrero). */ export declare function addMonths(date: Date, amount: number): Date; export declare function startOfWeek(date: Date, weekStartsOn?: 0 | 1): Date; export declare function startOfMonth(date: Date): Date; export declare function endOfMonth(date: Date): Date; export declare function isSameDay(a: Date, b: Date): boolean; export declare function isSameMonth(a: Date, b: Date): boolean; export declare function isToday(date: Date): boolean; export declare function isWeekend(date: Date): boolean; /** Minutos transcurridos desde la medianoche local. */ export declare function minutesOfDay(date: Date): number; /** `"05:30"` → 330. `"24:00"` → 1440. */ export declare function parseTimeToMinutes(time: string, fallback: number): number; /** Combina un día con una cantidad de minutos desde la medianoche. */ export declare function dayAtMinutes(day: Date, minutes: number): Date; /** * Grilla del mes por semanas. Devuelve 4 a 6 filas según lo que ocupe el mes, * en lugar de 6 fijas: evita una fila vacía en febrero. */ export declare function buildMonthGrid(date: Date, weekStartsOn?: 0 | 1): Date[][]; export declare function buildWeekDays(date: Date, weekStartsOn?: 0 | 1): Date[]; export declare function getViewRange(date: Date, view: CalendarView, weekStartsOn?: 0 | 1, agendaDays?: number): { start: Date; end: Date; }; /** Días que se listan en la vista agenda. */ export declare function getAgendaDays(date: Date, weekStartsOn: 0 | 1, agendaDays?: number): Date[]; /** Un paso de navegación: mes a mes, semana a semana o día a día. */ export declare function shiftDate(date: Date, view: CalendarView, direction: 1 | -1, agendaDays?: number): Date; /** Intl devuelve los meses y días en minúscula en español. */ export declare function capitalize(value: string): string; export declare function formatTime(date: Date, locale: string): string; export declare function formatWeekday(date: Date, locale: string, weekday?: "short" | "long" | "narrow"): string; export declare function formatDayMonth(date: Date, locale: string): string; export declare function formatDayLong(date: Date, locale: string): string; /** Título de la barra de navegación según la vista. */ export declare function getViewTitle(date: Date, view: CalendarView, locale: string, weekStartsOn?: 0 | 1, agendaDays?: number): string;