import { startOfMonth, endOfMonth, addDays, addWeeks, addMonths, subDays, subWeeks, subMonths, addYears, subYears, format, isSameDay, isSameMonth, isSameYear, isToday, isWithinInterval, differenceInMinutes, differenceInDays, setHours, setMinutes, getDay, getHours, getMinutes, startOfDay, endOfDay, parseISO } from 'date-fns'; import { CalendarEntry, ResolvedCalendarEntry, DateRange, TimeFormat, PositionedEntry, CalendarConfig, ModifierKeys } from './calendar-types'; export declare function resolveEntry(entry: CalendarEntry): ResolvedCalendarEntry; export declare function resolveEntries(entries: CalendarEntry[]): ResolvedCalendarEntry[]; export declare function getEntriesForRange(entries: ResolvedCalendarEntry[], range: DateRange): ResolvedCalendarEntry[]; export declare function getEntriesForDay(entries: ResolvedCalendarEntry[], date: Date, entryOrder?: (a: ResolvedCalendarEntry, b: ResolvedCalendarEntry) => number): ResolvedCalendarEntry[]; export declare function getTimedEntries(entries: ResolvedCalendarEntry[]): ResolvedCalendarEntry[]; export declare function getAllDayEntries(entries: ResolvedCalendarEntry[]): ResolvedCalendarEntry[]; export declare function getMultiDayEntries(entries: ResolvedCalendarEntry[]): ResolvedCalendarEntry[]; export declare function getWeekRange(date: Date, firstDayOfWeek: number): DateRange; export declare function getMonthRange(date: Date, firstDayOfWeek: number): DateRange; export declare function getDayRange(date: Date): DateRange; export declare function getDaysInRange(range: DateRange, hiddenDays?: number[]): Date[]; export declare function navigateMonth(date: Date, direction: 'prev' | 'next'): Date; export declare function navigateWeek(date: Date, direction: 'prev' | 'next'): Date; export declare function navigateDay(date: Date, direction: 'prev' | 'next'): Date; export declare function formatTime(date: Date, timeFormat: TimeFormat): string; export declare function formatHour(hour: number, timeFormat: TimeFormat): string; export declare function getTimeSlots(startHour: number, endHour: number, slotDuration: number): { hour: number; minute: number; }[]; export declare function getMinuteOffset(date: Date, startHour: number): number; export declare function minuteOffsetToPixels(minutes: number, slotDuration: number, slotHeightPx?: number): number; export declare function pixelsToMinuteOffset(pixels: number, slotDuration: number, slotHeightPx?: number): number; export declare function snapToSlot(minutes: number, snapDuration: number): number; export declare function dateFromMinuteOffset(baseDate: Date, minutes: number, _startHour: number): Date; export declare function positionTimedEntries(entries: ResolvedCalendarEntry[], date: Date, config: CalendarConfig): PositionedEntry[]; export declare function isBusinessHour(date: Date, hour: number, businessHours: { daysOfWeek: number[]; startTime: string; endTime: string; }): boolean; export declare function isCurrentMonth(date: Date, currentDate: Date): boolean; export declare function getModifierKeys(event: { altKey: boolean; ctrlKey: boolean; shiftKey: boolean; metaKey: boolean; }): ModifierKeys; export declare function getWeekNumber(date: Date, firstDayOfWeek: number): number; export declare function clampHour(hour: number, visibleStart: number, visibleEnd: number): number; export declare function entrySpansDays(entry: ResolvedCalendarEntry): number; export declare function getEntryDaySegments(entry: ResolvedCalendarEntry, range: DateRange): { date: Date; isStart: boolean; isEnd: boolean; }[]; export declare function getDateBackgroundColor(date: Date, dateBackgrounds?: { date: Date | string; color: string; }[], dateRangeBackgrounds?: { start: Date | string; end: Date | string; color: string; }[]): string | undefined; export declare function isDateLoading(date: Date, loadingRanges?: { start: Date | string; end: Date | string; }[]): boolean; export { isSameDay, isSameMonth, isSameYear, isToday, isWithinInterval, startOfDay, endOfDay, startOfMonth, endOfMonth, addDays, addWeeks, addMonths, subDays, subWeeks, subMonths, addYears, subYears, format, getDay, getHours, getMinutes, setHours, setMinutes, differenceInMinutes, differenceInDays, parseISO, };