import { Day } from '../types/index.js'; export declare const getUTCOffset: (offsetStr?: string | number) => number; export declare const formatUTCOffset: (offset?: number) => string; /** * Get the default date range for the calendar * @param startDay - Number of days to subtract from today, default value is 6 days to get the date range of the last 7 days including today * @returns - Array of two dates [startDate, endDate] */ export declare const getDefaultDateRange: (startDay?: number) => [Date, Date]; export declare const getUTCTimestamp: (date: Date | string | number) => number; export declare const getTimestampByTimezone: (date: Date | string | number | undefined | null, selectedTimezone?: string) => number | undefined; export declare const convertCalendarDateToUTC: (date: Date | string | number | undefined | null, hoursOffset?: number) => number | undefined; export declare const convertUTCtoLocalDate: (date: number) => Date; export declare const changeDateTimezone: (date: Date | string | number, { currentTimezone, targetTimezone }: { currentTimezone?: string | number | undefined; targetTimezone?: string | number | undefined; }) => "" | Date; export declare const generateDayList: (length?: number) => { id: number; label: number; }[]; export declare const generateMonthList: (length?: number) => { id: number; label: number; }[]; type GenerateYearListOptions = { /** Number of years to generate. Default 10. Ignored when `startYear` is set. */ length?: number; /** When set, generates from current year back to `startYear` (descending). */ startYear?: number; /** Walk forward or backward from the current year. Default `'future'`. */ direction?: 'past' | 'future'; }; /** * Generates a year list for pickers. * * @example * generateYearList() // 10 future years from now * generateYearList({ direction: 'past' }) // 10 past years from now * generateYearList({ startYear: 1970 }) // current year down to 1970 * generateYearList({ length: 5, direction: 'past' }) // 5 past years from now */ export declare const generateYearList: ({ length, startYear, direction }?: GenerateYearListOptions) => { id: number; label: number; }[]; export declare const formatCellDate: (dateObj?: Date | string | number, customFormat?: object, currentTimezone?: string | number, expectedTimezone?: string | number, showHours?: boolean) => string; export declare const formatDate: (date: Date | string | number, format?: string) => string; export declare const getValueOfEndOfDay: (date?: Date | number) => number; export declare function formatSecondsAsTime(seconds: number): string; type TimeUnit = 'seconds' | 'minutes' | 'hours' | 'days'; export declare function isWithinTimeAgo(timestampMs: number, amount: number, unit?: TimeUnit): boolean; export declare const formatRelativeTimeWithinHour: (timestampMs: number) => string; export declare const isTodayDate: (date: string | Date) => boolean; export declare const isYesterdayDate: (date: string | Date) => boolean; /** @deprecated Use `generateYearList({ startYear: 1970 })` instead. */ export declare const generateBirthYearList: () => { id: number; label: number; }[]; /** @deprecated Use `generateYearList({ length, direction: 'past' })` instead. */ export declare const generatePastYearList: (length?: number) => { id: number; label: number; }[]; /** * Converts a date into the given IANA timezone using dayjs-timezone. * * Returns a `Date` object whose local wall-clock fields reflect the target * timezone (useful for feeding back into date pickers), or `null` when the * input is invalid. * * @param date - Date object, ISO string, or numeric timestamp * @param timezone - IANA timezone string, e.g. `'Asia/Kuwait'`, `'America/New_York'` * @returns `Date` in the target timezone, or `null` for invalid input. * * @example * formatInTimezone('2024-01-15T10:00:00Z', 'Asia/Kuwait') * // → Date (13:00 local fields) * * formatInTimezone('not-a-date', 'Asia/Kuwait') // invalid date → null * // → null * * formatInTimezone('2024-01-15T10:00:00Z', 'asdf') // invalid timezone → null * // → null */ export declare function formatInTimezone(date: Date | string | number | undefined, timezone: string): Date | null; export declare function getOrderedWeekDays(startDay?: Day): string[]; /** * Converts a date into a Unix timestamp in milliseconds. * * @param date - Date object, ISO date string, or numeric timestamp. * @returns Unix timestamp in milliseconds, or undefined for missing or invalid dates. */ export declare const getTimestamp: (date?: Date | string | number | null) => number | undefined; export {};