import { Dayjs } from 'dayjs'; /** * Get all days to display in a calendar month grid (including padding days from prev/next months) * @param month - The month to display * @param locale - Optional locale for week start day (e.g., 'en', 'nb', 'de') */ export declare function getCalendarDays(month: Dayjs, locale?: string): Dayjs[]; /** * Check if a date is within a given range (inclusive) * Uses dayjs isBetween plugin with '[]' for inclusive start and end * @see https://day.js.org/docs/en/plugin/is-between */ export declare function isDateInRange(date: Dayjs, startDate: Dayjs | null, endDate: Dayjs | null): boolean; /** * Check if a date is outside the current display month */ export declare function isOutsideMonth(date: Dayjs, displayMonth: Dayjs): boolean; /** * Check if a date is today * Note: Uses local timezone. Both the input date and current time are compared * using the user's local timezone, which is the expected behavior for calendar UIs. * @param date - The date to check * @param now - Optional current date for testing (defaults to dayjs()) */ export declare function isToday(date: Dayjs, now?: Dayjs): boolean; /** * Get an array of weekday names (short form) * @param locale - Optional locale for localized weekday names (e.g., 'en', 'nb', 'de') * @param baseDate - Optional base date for testing (defaults to dayjs()) */ export declare function getWeekdayNames(locale?: string, baseDate?: Dayjs): string[]; /** * Get the week number for a given date */ export declare function getWeekNumber(date: Dayjs): number; /** * Get all week numbers for days in a calendar month grid */ export declare function getWeekNumbers(days: Dayjs[]): number[]; /** * Check if two dates are the same day */ export declare function isSameDay(date1: Dayjs | null, date2: Dayjs | null): boolean; /** * Format a date range for display * When one date is missing, shows the format placeholder for the missing date */ export declare function formatDateRange(startDate: Dayjs | null, endDate: Dayjs | null, format: string): string;