import Suite, { SuiteProperties, TestLifecycleFunction } from './Suite';
import BenchmarkTest from './BenchmarkTest';
export default class BenchmarkSuite extends Suite implements BenchmarkSuiteProperties {
    /** A function that is run after each test call by benchmark.js */
    afterEachLoop: TestLifecycleFunction;
    /** A function that is run before each test call by benchmark.js */
    beforeEachLoop: TestLifecycleFunction;
    tests: (BenchmarkSuite | BenchmarkTest)[];
    constructor(options: BenchmarkSuiteOptions);
}
export interface BenchmarkSuiteProperties extends SuiteProperties {
    beforeEachLoop: TestLifecycleFunction;
    afterEachLoop: TestLifecycleFunction;
}
export declare type BenchmarkSuiteOptions = Partial<BenchmarkSuiteProperties> & {
    name: string;
    parent: Suite;
    tests?: (BenchmarkSuite | BenchmarkTest)[];
};
