export type SegmentResults = { time: number; heap: number; rss: number; mem: number; }; type Aggregate = { min: number; max: number; avg: number; median: number; }; export type SegmentAggregateResults = { iterations: number; time: Aggregate; heap: Aggregate; rss: Aggregate; mem: Aggregate; }; type Segment = { time: HRTime; heap: number; rss: number; mem: number; }; export type HRTime = [seconds: number, nanoseconds: number]; declare function startTime(): HRTime; /** * @returns milliseconds since start */ declare function endTime(start: HRTime): number; declare function startSegment(): Segment; declare function endSegment(start: Segment): SegmentResults; declare function renderSegment(segment: SegmentResults, title?: string, delimiter?: string): string; declare function renderSegmentAggregate(segmentAggregate: SegmentAggregateResults, title?: string, delimiter?: string): string; declare function withSegment(fn: () => Promise | void): Promise; declare function withSegmentIterations(warmupIterations: number, testIterations: number, fn: () => Promise | void): Promise; export declare const BenchUtils: { start: typeof startTime; end: typeof endTime; startSegment: typeof startSegment; endSegment: typeof endSegment; renderSegment: typeof renderSegment; renderSegmentAggregate: typeof renderSegmentAggregate; withSegment: typeof withSegment; withSegmentIterations: typeof withSegmentIterations; }; export {}; //# sourceMappingURL=bench.d.ts.map