import { Settings } from '../Data'; import { ArgumentStore, ParameterStoreView } from '../ParameterizationStore'; import { BenchmarkingSettings, BenchmarkTestFnOptions, TestFn } from '../types'; import { Optional } from '../types.internal'; import { BenchmarkTask } from './BenchmarkTask'; export interface BenchmarkOptions extends BenchmarkingSettings, BenchmarkTestFnOptions { } export declare class Benchmark { private static id; private readonly _id; private readonly _context; private readonly _testFnName; private readonly _testArgStore; private readonly _settings; get testArgStore(): ArgumentStore; /** * @param testFn The function to benchmark. * @param options The options of benchmark. */ constructor(testFn: T, options?: Readonly>); /** * @param name The name used to identify this benchmark. * @param testFn The function to benchmark. * @param options The options of benchmark. */ constructor(name: string, testFn: T, options?: Readonly>); private parseArgs; /** * Validates this benchmark. * @returns Returns `false` if problems in this benchmark, otherwise `true`. */ validate(): boolean; toTask(globalSettings: Settings, paramStoreView: Optional): BenchmarkTask[]; }