import type { JSONObject } from 'tiny-types';
import { TinyType } from 'tiny-types';
/**
 * Represents a duration in milliseconds between two [timestamps](https://serenity-js.org/api/core/class/Timestamp/).
 *
 * @group Time
 */
export declare class Duration extends TinyType {
    private readonly milliseconds;
    private static msPerSecond;
    private static msPerMinute;
    private static msPerHour;
    private static msPerDay;
    private static msPerYear;
    static ofMilliseconds: (milliseconds: number) => Duration;
    static ofSeconds: (seconds: number) => Duration;
    static ofMinutes: (minutes: number) => Duration;
    static ofHours: (hours: number) => Duration;
    static ofDays: (days: number) => Duration;
    static ofYears: (years: number) => Duration;
    static fromJSON({ milliseconds }: {
        milliseconds: number;
    }): Duration;
    constructor(milliseconds: number);
    isLessThan(another: Duration): boolean;
    isLessThanOrEqualTo(another: Duration): boolean;
    isGreaterThan(another: Duration): boolean;
    isGreaterThanOrEqualTo(another: Duration): boolean;
    plus(another: Duration): Duration;
    inMilliseconds(): number;
    toString(): string;
    toJSON(): JSONObject;
}
//# sourceMappingURL=Duration.d.ts.map