import { AsyncCallback, AsyncSetupCallback, IsoBenchOptions, Processor } from "."; export type Sample = { cycles: number; time: number; ops: number; }; export type TestOptions = { samplesPerSpawn?: number; spawns?: number; } & ({ customCycles: number; } | { customCycles?: null; time?: number; }); export type TestCallbackSetup = { async: false; callback: (setupData: T) => void; setup?: (() => T) | null; } | { async: true; callback: AsyncCallback | AsyncSetupCallback; setup?: (() => T) | null; }; export declare class Test { readonly name: string; readonly index: number; readonly options: Required; private _cb; error: string | null; opMs: number; totalTime: number; samples: Sample[]; group: string; constructor(name: string, index: number, options: Required, _cb: TestCallbackSetup); fork(benchName: string, processors: Processor[], options: Required): Promise; setGroup(name: string): void; run(): Promise; }