import type { Duration, DurationInput, DurationInputObject, DurationUnit, FormatOptions } from '../typings'; import { orderedUnits } from './normalize'; declare const IS_DURATION: unique symbol; export type NormalizedUnit = (typeof orderedUnits)[number]; export type DurationValues = Partial>; export declare class DurationImpl implements Duration { static isDuration(o: unknown): o is Duration; [IS_DURATION]: boolean; private _values; private _locale; private _isValid; constructor(options: { values: DurationValues; locale?: string; isValid?: boolean; }); get(unit: DurationUnit): number; set(values: DurationInputObject): Duration; as(unit: DurationUnit): number; milliseconds(): number; asMilliseconds(): number; seconds(): number; asSeconds(): number; minutes(): number; asMinutes(): number; hours(): number; asHours(): number; days(): number; asDays(): number; weeks(): number; asWeeks(): number; months(): number; asMonths(): number; quarters(): number; asQuarters(): number; years(): number; asYears(): number; add(amount: DurationInput, unit?: DurationUnit | undefined): Duration; subtract(amount: DurationInput, unit?: DurationUnit | undefined): Duration; negate(): DurationImpl; normalize(options?: { roundUp?: boolean; }): Duration; shiftTo(units: DurationUnit[], options?: { roundUp?: boolean; }): DurationImpl; rescale(options?: { roundUp?: boolean; }): DurationImpl; toISOString(): string; toJSON(): string; toObject(): { years?: number | undefined; months?: number | undefined; days?: number | undefined; hours?: number | undefined; minutes?: number | undefined; seconds?: number | undefined; milliseconds?: number | undefined; quarters?: number | undefined; weeks?: number | undefined; }; toString(): string; valueOf(): number; humanize(withSuffix?: boolean): string; humanizeIntl(options?: { listStyle?: 'long' | 'short' | 'narrow'; unitDisplay?: Intl.NumberFormatOptions['unitDisplay']; }): string; format(formatInput: string, options?: FormatOptions & { forceSimple?: boolean; }): string; isValid(): boolean; locale(): string; locale(locale: string): Duration; } export declare function isDuration(value: unknown): value is Duration; export {};