export type TimerCallback = () => void | boolean | Promise; export interface Chrono { lastMeasure?: ChronoMeasure; allMeasures: ChronoMeasure[]; start(label: string, printTitle?: string): void; start_withLimit(limit_ms: number, label: string, printTitle?: string): void; end(): void; onMeasureDone(handler: null | ((measure: ChronoMeasure) => void)): void; } export interface ChronoMeasure { label?: string; title?: string; logIfMoreThan_ms?: number; startTime_ms: number; endTime_ms: number; elapsedTime_ms: number; elapsedTime_sec: string; } export declare const ONE_SECOND = 1000; export declare const ONE_MINUTE: number; export declare const ONE_HOUR: number; export declare const ONE_DAY: number; export declare function newInterval(durationInMs: number, callback: TimerCallback): void; export declare function deferred(callback: () => void): void; export declare function tick(timeInMs: number): Promise; export declare const sleep: typeof tick; export declare const pause: typeof tick; export declare function chrono(mustSaveMeasures: boolean): Chrono;