import type { ContextOptions, DateArg, LocalizedOptions, WeekOptions, } from "./types.js"; /** * The {@link formatRelative} function options. */ export interface FormatRelativeOptions extends LocalizedOptions< "options" | "localize" | "formatLong" | "formatRelative" >, WeekOptions, ContextOptions {} /** * @name formatRelative * @category Common Helpers * @summary Represent the date in words relative to the given base date. * * @description * Represent the date in words relative to the given base date. * * | Distance to the base date | Result | * |---------------------------|---------------------------| * | Previous 6 days | last Sunday at 04:30 AM | * | Last day | yesterday at 04:30 AM | * | Same day | today at 04:30 AM | * | Next day | tomorrow at 04:30 AM | * | Next 6 days | Sunday at 04:30 AM | * | Other | 12/31/2017 | * * @param date - The date to format * @param baseDate - The date to compare with * @param options - An object with options * * @returns The date in words * * @throws `date` must not be Invalid Date * @throws `baseDate` must not be Invalid Date * @throws `options.locale` must contain `localize` property * @throws `options.locale` must contain `formatLong` property * @throws `options.locale` must contain `formatRelative` property * * @example * // Represent the date of 6 days ago in words relative to the given base date. In this example, today is Wednesday * const result = formatRelative(subDays(new Date(), 6), new Date()) * //=> "last Thursday at 12:45 AM" */ export declare function formatRelative( date: DateArg & {}, baseDate: DateArg & {}, options?: FormatRelativeOptions, ): string;