import { TimeFormat, TimeUnit } from '../../types';
export declare class Timer {
    /**
     * 睡眠函数
     * @param {number} millis 毫秒
     */
    static sleep(millis?: number): Promise<unknown>;
    /**
     * 格式化时间
     * yyyy - 四位年份
     * MM - 两位月份（01-12）
     * dd - 两位日期（01-31）
     * HH - 24小时制小时（00-23）
     * hh - 12小时制小时（01-12）
     * mm - 分钟（00-59）
     * ss - 秒（00-59）
     * SSS - 毫秒（000-999）
     * MMMM - 月份名称（January, February, …）
     * A / a - AM/PM
     * @param time 时间
     * @param formatStr 时间格式
     */
    static format(time?: Date | string | number, formatStr?: TimeFormat): string;
    /**
     * 计算两个时间之间的差值
     * @param start 开始时间
     * @param end 结束时间
     * @param unit 差值单位，可以是 'ms'（毫秒）、's'（秒）、'm'（分钟）、'h'（小时）、'd'（天）、'M'（月）、'y'（年）
     * @returns 返回两个时间之间的差值
     */
    static diff(start: Date | string | number, end: Date | string | number, unit?: TimeUnit): number;
    /**
     * 判断某个时间是否在另一个时间之前
     * @param time1 第一个时间
     * @param time2 第二个时间
     * @returns 如果 time1 在 time2 之前，返回 true；否则返回 false
     */
    static isBefore(time1: Date | string | number, time2: Date | string | number): boolean;
    /**
     * 判断某个时间是否在另一个时间之后
     * @param time1 第一个时间
     * @param time2 第二个时间
     * @returns 如果 time1 在 time2 之后，返回 true；否则返回 false
     */
    static isAfter(time1: Date | string | number, time2: Date | string | number): boolean;
    /**
     * 对时间数组进行排序
     * @param times 时间数组
     * @returns 排序后的时间数组
     */
    static sort(times: (Date | string | number)[]): (Date | string | number)[];
    /**
     * 增加指定的时间量
     * @param time 时间
     * @param amount 数量
     * @param unit 单位，可以是 'ms'、's'、'm'、'h'、'd'、'M'、'y'
     * @returns 增加后的时间
     */
    static add(time: Date | string | number, amount: number, unit: TimeUnit): Date;
    /**
     * 减少指定的时间量
     * @param time 时间
     * @param amount 数量
     * @param unit 单位，可以是 'ms'、's'、'm'、'h'、'd'、'M'、'y'
     * @returns 减少后的时间
     */
    static sub(time: Date | string | number, amount: number, unit: TimeUnit): Date;
}
