import { BenchmarkResults } from './internal/benchmarkExecutioner'; export declare type FunctionType = () => any; export declare type AsyncFunctionType = () => Promise; export declare type Benchmark = { benchmarkName: string; benchmarkEntryName: string; benchmarkEntryVersion?: string; nodeVersion: string; label?: string; warmupCycles: number; benchmarkCycles: number; benchmarkCycleSamples: number; functionUnderTest: FunctionType | undefined; asyncFunctionUnderTest: AsyncFunctionType | undefined; execute: () => BenchmarkResults; executeAsync: () => Promise; }; export declare class BenchmarkBuilder { private _benchmarkName; private _benchmarkEntryName; private _benchmarkEntryVersion?; private _warmupCycles; private _benchmarkCycles; private _benchmarkCycleSamples; private _label?; private _functionUnderTest; private _asyncFunctionUnderTest; benchmarkName(name: string): BenchmarkBuilder; benchmarkEntryName(name: string): BenchmarkBuilder; benchmarkEntryVersion(version: string): BenchmarkBuilder; benchmarkLabel(label: string): BenchmarkBuilder; warmupCycles(warmupCycles: number): BenchmarkBuilder; benchmarkCycles(benchmarkCycles: number): BenchmarkBuilder; benchmarkCycleSamples(benchmarkCycleSamples: number): BenchmarkBuilder; functionUnderTest(functionUnderTest: FunctionType, isPromiseResultAllowed?: boolean): BenchmarkBuilder; asyncFunctionUnderTest(asyncFunctionUnderTest: AsyncFunctionType): BenchmarkBuilder; build(): Benchmark; }