import { DateLike } from '@vueuse/core';
import { AvailableTimeLanguages, DateTimeAcceptedFormats } from '../../types/timeAgoT';
interface TimeDeltaOptions {
    Day?: number;
    Hour?: number;
    Minute?: number;
    Second?: number;
    Week?: number;
    Month?: number;
    Year?: number;
}
export declare function timeDelta(date: string | Date, options: TimeDeltaOptions): Date;
export declare function timeAgo(date: string | Date, lang?: AvailableTimeLanguages): string;
/**
 * Adjust a date for a specific timezone
 * @param date The date to adjust
 * @param timeZone The timezone to use (e.g., 'UTC', 'America/New_York')
 * @returns Date parts with timezone adjustment applied
 */
export declare function handleTimezone(date: Date, intFmtOpt: Intl.DateTimeFormatOptions): Date;
export declare function getDatePartsMap(date: Date, locale: Intl.LocalesArgument, intFmtOpt?: Intl.DateTimeFormatOptions): {
    AmPm: string;
    DD: string;
    DDD: string;
    DDDD: string;
    HH: string;
    mm: string;
    MM: string;
    MMM: string;
    MMMM: string;
    ss: string;
    sss: string;
    YY: string;
    YYYY: string;
};
export interface FormatDateOptions extends Partial<Pick<Intl.DateTimeFormatOptions, 'hour12'>> {
    fmt?: DateTimeAcceptedFormats;
    locale?: Intl.LocalesArgument;
    tz?: string;
}
/**
 * Formats a date based on the provided format string, locale, and timezone.
 * @param date The date to format (string or Date object).
 * @param opts Options for formatting the date.
 * @param opts.fmt The format string (default is 'DD.MM.YY').
 * @param opts.locale The locale to use for formatting (default is browser's locale).
 * @param opts.tz The timezone to use for formatting (default is local timezone).
 * @returns Formatted date string.
 */
export declare function formatDate(date?: DateLike, opts?: FormatDateOptions): string;
export declare const fmtDate: typeof formatDate;
export {};
//# sourceMappingURL=dateUtils.d.ts.map