import { Components, DateDelta, TimeDelta } from './types'; import { Equatable } from '@esfx/equatable'; export declare class Duration implements Equatable { static readonly ZERO: Duration; readonly years: number; readonly months: number; readonly days: number; readonly hours: number; readonly minutes: number; readonly seconds: number; readonly milliseconds: number; readonly nanoseconds: number; constructor(components?: Components); readonly sign: 1 | 0 | -1; plus(deltas?: Components): Duration; minus(deltas?: Components): Duration; scale(amount: number): Duration; with(components?: Components): Duration; negate(): Duration; abs(): Duration; truncate(unit: DateDelta | TimeDelta): Duration; toTimeAgoString(): string; toString(): string; toJSON(): string; equals(other: Duration): boolean; static fromString(text: string): Duration; static fromMilliseconds(milliseconds: number, nanoseconds?: number): Duration; static fromNanoseconds(ns: bigint): Duration; [Equatable.equals](other: unknown): boolean; [Equatable.hash](): number; }