import type { RaceCancellation } from 'race-cancellation'; export interface Benchmark { readonly group: string; setup(raceCancellation: RaceCancellation): Promise>; } export interface BenchmarkSampler { dispose(): Promise; sample(iteration: number, isTrial: boolean, raceCancellation: RaceCancellation): Promise; } export interface SampleGroup { group: string; samples: TSample[]; } /** * @param ellasped - time since starting to take samples * @param completed - number of samples completed across groups * @param remaining - remaining samples across groups * @param group - group name of sampler we are about to sample * @param iteration - current sample iteration */ export declare type SampleProgressCallback = (ellasped: number, completed: number, remaining: number, group: string, iteration: number) => void; export interface RunOptions { setupTimeoutMs: number; sampleTimeoutMs: number; raceCancellation: RaceCancellation; } export default function run(benchmarks: Benchmark[], iterations: number, progress: SampleProgressCallback, options?: Partial): Promise[]>; //# sourceMappingURL=run.d.ts.map