import { Observable } from 'rxjs';
import { File, StrykerOptions } from 'stryker-api/core';
import { TestFramework } from 'stryker-api/test_framework';
import LoggingClientContext from './logging/LoggingClientContext';
import { InitialTestRunResult } from './process/InitialTestExecutor';
import { Logger } from 'stryker-api/logging';
import TranspiledMutant from './TranspiledMutant';
import { MutantResult } from 'stryker-api/report';
export declare class SandboxPool {
    private readonly log;
    private readonly options;
    private readonly testFramework;
    private readonly initialFiles;
    private readonly loggingContext;
    private readonly allSandboxes;
    private readonly overheadTimeMS;
    static inject: ["logger", "options", "testFramework", "initialRunResult", "transpiledFiles", "loggingContext"];
    constructor(log: Logger, options: StrykerOptions, testFramework: TestFramework | null, initialRunResult: InitialTestRunResult, initialFiles: ReadonlyArray<File>, loggingContext: LoggingClientContext);
    runMutants(mutants: Observable<TranspiledMutant>): Observable<MutantResult>;
    private readonly runInSandbox;
    private startSandboxes;
    private determineConcurrency;
    private readonly registerSandbox;
    disposeAll(): Promise<void[]>;
}
//# sourceMappingURL=SandboxPool.d.ts.map