import type { DateTime } from '../typings'; export type CompareStringsOptions = { ignoreCase?: boolean; }; export declare function floorMod(x: number, n: number): number; export declare function isLeapYear(year: number): boolean; export declare function daysInYear(year: number): 366 | 365; export declare function daysInMonth(year: number, month: number): number; export interface DateObject { year: number; month: number; date: number; hour: number; minute: number; second: number; millisecond: number; } export declare function tsToObject(ts: number, offset: number): DateObject; export declare function objToTS(obj: DateObject): number; export declare function normalizeDurationUnit(component: string): "years" | "months" | "days" | "hours" | "minutes" | "seconds" | "milliseconds" | "quarters" | "weeks"; export declare function normalizeComponent(component: string): "year" | "month" | "day" | "hour" | "minute" | "second" | "millisecond" | "quarter" | "date" | "weekNumber" | "isoWeekNumber" | "isoWeekday" | "weekday" | "dayOfYear" | "weekYear" | "isoWeekYear"; export declare function normalizeDateComponents(components: Partial>, normalizer: (unit: string) => To): Partial>; export declare function offsetFromString(value: string | undefined): number | null; export declare function computeOrdinal({ year, month, date }: { year: number; month: number; date: number; }): number; export declare function uncomputeOrdinal({ year, ordinal }: { year: number; ordinal: number; }): { month: number; date: number; }; export declare function gregorianToOrdinal(gregData: { year: number; month: number; date: number; }): { year: number; ordinal: number; }; export declare function isoWeekdayToLocal(isoWeekday: number, startOfWeek: number): number; export declare function gregorianToWeek(dateObj: DateObject, minDaysInFirstWeek: number, startOfWeek: number): { day: number; weekYear: number; weekNumber: number; weekday: number; isoWeekYear: number; isoWeekNumber: number; isoWeekday: number; }; export declare function weeksInWeekYear(weekYear: number, minDaysInFirstWeek?: number, startOfWeek?: number): number; export declare function weekToGregorian(weekData: { weekYear: number; weekNumber: number; weekday: number; }, minDaysInFirstWeek: number, startOfWeek: number): { year: number; month: number; date: number; }; export declare function monthDiff(a: DateTime, b: DateTime): number;