import { IntervalArg } from './interval/interval-common';
import { Interval } from './interval/interval';
export declare function addSubTime(at: Date, intervalArg: IntervalArg, direction: number): Date;
export declare function addTime(at: Date, intervalArg: IntervalArg): Date;
export declare function addTimeFromNow(interval: IntervalArg): Date;
export declare function subTime(at: Date, interval: IntervalArg): Date;
export declare function subTimeFromNow(interval: IntervalArg): Date;
/**
 * Retourne les secondes arrondies d'une dates
 */
export declare function getRoundSeconds(at: Date): number;
/**
 * Détermine si deux date sont équivalentes à la seconde près
 */
export declare function equal(at1: Date, at2: Date): boolean;
/**
 * Retourne l'interval entre deux object Date
 * Si le premier est plus récent que le second, l'interval
 * n'est pas "inversed", sinon il l'est.
 */
export declare function diff(at1: Date, at2: Date): Interval;
export declare function getAt(spec: string | Date): Date | null;
/**
 * @deprecated
 */
export declare function safeParse(spec: string | Date): Date | null;
export declare function isValid(at: Date): boolean;
export declare function atToDayBegin(at: Date): void;
export declare function atToDayEnd(at: Date): void;
export declare function atToMonthBegin(at: Date): void;
export declare function atToMonthEnd(at: Date): void;
export declare function atToYearBegin(at: Date): void;
export declare function atToYearEnd(at: Date): void;
export declare function getDayBeginAt(at: Date): Date;
export declare function getDayEndAt(at: Date): Date;
export declare function getMonthBeginAt(at: Date): Date;
export declare function getMonthEndAt(at: Date): Date;
export declare function getYearBeginAt(at: Date): Date;
export declare function getYearEndAt(at: Date): Date;
