export type Microseconds = number; export type Milliseconds = number; /** * Defines clock utilities for time conversions. * Handles time origins in NodeJS and the Browser * Provides process and thread IDs. * @param init */ export type EpochClockOptions = { pid?: number; tid?: number; }; /** * Creates epoch-based clock utility. * Epoch time has been the time since January 1, 1970 (UNIX epoch). * Date.now gives epoch time in milliseconds. * performance.now() + performance.timeOrigin when available is used for higher precision. */ export declare function epochClock(init?: EpochClockOptions): { timeOriginMs: number; pid: number; tid: number; epochNowUs: () => Microseconds; msToUs: (ms: number) => Microseconds; usToUs: (us: number) => Microseconds; fromEpochMs: (ms: number) => Microseconds; fromEpochUs: (us: number) => Microseconds; fromPerfMs: (perfMs: Milliseconds) => Microseconds; fromEntry: (entry: { startTime: Milliseconds; entryType: string; duration: Milliseconds; }, useEndTime?: boolean) => number; fromEntryStartTimeMs: (perfMs: Milliseconds) => Microseconds; fromDateNowMs: (ms: number) => Microseconds; }; export declare const defaultClock: { timeOriginMs: number; pid: number; tid: number; epochNowUs: () => Microseconds; msToUs: (ms: number) => Microseconds; usToUs: (us: number) => Microseconds; fromEpochMs: (ms: number) => Microseconds; fromEpochUs: (us: number) => Microseconds; fromPerfMs: (perfMs: Milliseconds) => Microseconds; fromEntry: (entry: { startTime: Milliseconds; entryType: string; duration: Milliseconds; }, useEndTime?: boolean) => number; fromEntryStartTimeMs: (perfMs: Milliseconds) => Microseconds; fromDateNowMs: (ms: number) => Microseconds; };