export type DurationUnit = "hour" | "day" | "week" | "month" | "year"; export interface ParsedDurationExpression { amount: number; unit: DurationUnit; } export declare function parseMonthToken(rawToken: string): number | null; export declare function parseWeekdayToken(rawToken: string): number | null; export declare function parseYearToken(rawToken: string): number | null; export declare function parseTimeToken(rawToken: string): { hour: number; minute: number; } | null; export declare function normalizeDurationUnit(rawUnit: string): DurationUnit | null; export declare function parseDurationExpression(rawExpression: string, defaultUnit?: DurationUnit): ParsedDurationExpression | null; export declare function createLocalDate(year: number, month: number, day: number, hour?: number, minute?: number, timeZone?: string): Date; export declare function toUtcIso(date: Date): string; export declare function toYmd(date: Date, timeZone?: string): string; export declare function addDuration(inputDate: Date, amount: number, unit: DurationUnit, timeZone?: string): Date; export declare function formatPointLabel(date: Date, timeZone?: string): string; export declare function formatRangeLabel(startDate: Date, endDate: Date, timeZone?: string): string; export declare function startOfDay(inputDate: Date, timeZone?: string): Date; export declare function getNextWeekday(referenceDate: Date, weekday: number, timeZone?: string): Date; export declare function getPreviousWeekdayBeforeDate(referenceDate: Date, weekday: number, timeZone?: string): Date; export declare function getNthWeekdayInMonth(year: number, month: number, weekday: number, occurrence: number, timeZone?: string): Date; export declare function getLastWeekdayInMonth(year: number, month: number, weekday: number, timeZone?: string): Date; export declare function getNextAnnualNthWeekday(referenceDate: Date, month: number, weekday: number, occurrence: number, timeZone?: string): Date; export declare function getNextAnnualLastWeekday(referenceDate: Date, month: number, weekday: number, timeZone?: string): Date; export declare function getFirstWeekdayInMonth(year: number, month: number, weekday: number, timeZone?: string): Date; export declare function getNextWeekdayInMonthAfterNow(referenceDate: Date, month: number, weekday: number, timeZone?: string): Date; export declare function getFridayBeforeChristmas(referenceDate: Date, timeZone?: string): Date; export declare function getNextAnnualDate(referenceDate: Date, month: number, day: number, timeZone?: string): Date; export declare function getNextAnnualEasterDate(referenceDate: Date, timeZone?: string): Date; export declare function getLaborDayDate(referenceDate: Date, timeZone?: string): Date; export declare function withDayInMonth(referenceDate: Date, day: number, timeZone?: string): Date | null; export declare function startOfWeek(referenceDate: Date, weekStart: "sunday" | "monday", timeZone?: string): Date; export declare function endOfWeek(referenceDate: Date, weekStart: "sunday" | "monday", timeZone?: string): Date; export declare function startOfMonth(referenceDate: Date, timeZone?: string): Date; export declare function endOfMonth(referenceDate: Date, timeZone?: string): Date; export declare function startOfYear(referenceDate: Date, timeZone?: string): Date; export declare function endOfYear(referenceDate: Date, timeZone?: string): Date; export declare function getWeekendBeforeDate(referenceDate: Date, timeZone?: string): { start: Date; end: Date; };