export declare function parse(input: string, format: string, referenceDate?: Date): Date;
export declare const convertDateToTimeZone: (date?: Date | null, timezone?: string) => Date | undefined | null;
export declare const convertDateFromTimeZone: (date?: Date | null, timezone?: string) => Date | undefined | null;
export declare const dateFormatter: Intl.DateTimeFormat;
declare class DateTimeFormat extends Intl.DateTimeFormat {
    constructor();
    format(date?: Date | number): string;
}
export declare const dateTimeFormatter: DateTimeFormat;
/**
 * Возвращает дату начала месяца
 */
export declare function startOfMonth(date: Date): Date;
/**
 * Возвращает дату конца месяца
 */
export declare function endOfMonth(date: Date): Date;
type WeekOptions = {
    weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
};
export declare const MONDAY = 1;
/**
 * Возвращает дату начала недели
 */
export declare function startOfWeek(date: Date, { weekStartsOn }?: WeekOptions): Date;
/**
 * Возвращает дату конца недели
 */
export declare function endOfWeek(date: Date, { weekStartsOn }?: WeekOptions): Date;
/**
 * Возвращает дату начала дня
 */
export declare function startOfDay(date: Date): Date;
/**
 * Возвращает дату конца дня
 */
export declare function endOfDay(date: Date): Date;
export declare function startOfTomorrow(): Date;
/**
 * Возвращает дату начала минуты
 */
export declare function startOfMinute(date: Date): Date;
export declare function eachDayOfInterval(startDate: Date, endDate: Date, { step }?: {
    step?: number;
}): Date[];
/**
 * Проверяет, что переданные даты относятся к одному и тому же месяцу
 *
 * @example
 * ```ts
 * import assert from 'node:assert';
 * import { isSameMonth } from './date.ts';
 *
 * const d1 = new Date();
 * const d2 = new Date();
 * assert.ok(isSameMonth(d1, d2));
 * ```
 */
export declare function isSameMonth(d1: Date, d2: Date): boolean;
export declare function isLastDayOfMonth(date: Date): boolean;
export declare function isWithinInterval(date: Date, interval: [Date, Date]): boolean;
export declare function isToday(date: Date): boolean;
export declare function isYesterday(date: Date): boolean;
export declare function isMatch(input: string, format: string): boolean;
export declare const millisecondsInSecond = 1000;
export declare function addDays(date: Date, amount: number): Date;
export declare function subDays(date: Date, amount: number): Date;
export declare function addWeeks(date: Date, amount: number): Date;
export declare function subWeeks(date: Date, amount: number): Date;
export declare function addMonths(date: Date, amount: number): Date;
export declare function subMonths(date: Date, amount: number): Date;
export declare function setYear(date: Date, year: number): Date;
export declare function setMonth(date: Date, month: number): Date;
export declare function setHours(date: Date, hours: number): Date;
export declare function setMinutes(date: Date, minutes: number): Date;
export {};
//# sourceMappingURL=date.d.ts.map