/**
 * Copyright (c) 2018-2019 Aleksey Melnikov, True Directive Company.
 * @link https://truedirective.com/
 * @license MIT
*/
export declare class Dates {
    static isEmpty(d: Date): boolean;
    /**
     * Returns timestamp of the given date or null
     * @param  d Date
     * @return   Timestamp or date's timestamp
     */
    static getTimeNull(d: Date): number | null;
    /**
     * Are two dates equal?
     * @param  d1 First date
     * @param  d2 Second date
     * @return    True if dates are equals.
     */
    static equals(d1: Date, d2: Date): boolean;
    /**
     * Comparing two dates.
     * @param  d1 First date.
     * @param  d2 Second date.
     * @return    True if both dates are equal.
     */
    static compare(d1: Date, d2: Date): number;
    /**
     * Returns today's date with no time.
     * @return Today's date with no time.
     */
    static today(): Date;
    /**
     * Returns yesterday's date without time.
     * @return Yesterday's date without time.
     */
    static yesterday(): Date;
    /**
     * Returns the date following the specified date.
     * @param  d Date
     * @return The date following the date.
     */
    static nextDate(d: Date): Date;
    /**
     * Returns a date that is more than the specified date for the specified number of days.
     * @param  d    Date
     * @param  days Number of days
     * @return
     */
    static addDays(d: Date, days: number): Date;
    static firstDateOfWeek(d: Date, firstDay: number): Date;
    static lastDateOfWeek(d: Date, firstDay: number): Date;
    static lastDateOfPrevWeek(d: Date, firstDay: number): Date;
    static firstDateOfNextWeek(d: Date, firstDay: number): Date;
    static firstDateOfMonth(d: Date): Date;
    static lastDateOfMonth(d: Date): Date;
    static firstDateOfNextMonth(d: Date): Date;
    static lastDateOfNextMonth(d: Date): Date;
    static firstDateOfPrevMonth(d: Date): Date;
    static lastDateOfPrevMonth(d: Date): Date;
    static dateBetween(d: Date, start: Date, end: Date): boolean;
    static isSameMonth(d1: Date, d2: Date): boolean;
    static isSameYear(d1: Date, d2: Date): boolean;
    static yearTwoDigits(d: Date): string;
}
