export interface TimezoneEntry { name: string; longName: string; shortName: string; offset: number; } export type DateUnit = "year" | "years" | "month" | "months" | "week" | "weeks" | "day" | "days" | "hour" | "hours" | "minute" | "minutes" | "second" | "seconds" | "ms" | "milliseconds"; export interface DateValues { year: number; month: number; monthName: string; dayName: string; date: number; weekStartDayName: string; numberOfDaysOfTheMonth: number; hours: number; minutes: number; seconds: number; milliSeconds: number; timestamp: number; iso: string; } export type MatesDate = number & { readonly values: DateValues; toJSON(): string; format(fmt: string): string; formatLongAgo(opts?: { now?: number | string | Date | MatesDate; numeric?: "auto" | "always"; style?: "long" | "short" | "narrow"; }): string; add(amount: number, unit: DateUnit): MatesDate; subtract(amount: number, unit: DateUnit): MatesDate; isBefore(other: DateInput): boolean; isAfter(other: DateInput): boolean; isFuture(): boolean; isPresent(): boolean; isToday(): boolean; isYesterday(): boolean; isTomorrow(): boolean; getDifference(other: DateInput, unit: DateUnit): number; getAge(at?: DateInput): number; }; export type DateInput = number | string | Date | MatesDate | { year?: number; month?: number; day?: number; hour?: number; minute?: number; second?: number; ms?: number; }; export declare function date(input?: DateInput): MatesDate; export declare function setTimezone(tz: TimezoneEntry | null | undefined): void; export declare function setTimezoneOffset(minutes: number): void; export declare function getTimezoneOffset(): number; export declare function setLocale(locale: string | null | undefined): void; export declare function getLocale(): string; export declare function getAllTimezones(): TimezoneEntry[]; //# sourceMappingURL=date.d.ts.map