import { StrykerOptions } from 'stryker-api/core';
import { RunResult } from 'stryker-api/test_runner';
import { File } from 'stryker-api/core';
import { TestFramework } from 'stryker-api/test_framework';
import TranspiledMutant from './TranspiledMutant';
import LoggingClientContext from './logging/LoggingClientContext';
import { MutantResult } from 'stryker-api/report';
export default class Sandbox {
    private readonly options;
    private readonly index;
    private readonly files;
    private readonly testFramework;
    private readonly timeOverheadMS;
    private readonly loggingContext;
    private readonly log;
    private testRunner;
    private fileMap;
    private readonly workingDirectory;
    private constructor();
    private initialize;
    static create(options: StrykerOptions, index: number, files: ReadonlyArray<File>, testFramework: TestFramework | null, timeoutOverheadMS: number, loggingContext: LoggingClientContext): Promise<Sandbox>;
    run(timeout: number, testHooks: string | undefined, mutatedFileName?: string): Promise<RunResult>;
    dispose(): Promise<void>;
    runMutant(transpiledMutant: TranspiledMutant): Promise<MutantResult>;
    private readonly retrieveEarlyResult;
    private collectMutantResult;
    private determineMutantState;
    private reset;
    private writeFileInSandbox;
    private fillSandbox;
    private symlinkNodeModulesIfNeeded;
    private fillFile;
    private initializeTestRunner;
    private calculateTimeout;
    private getFilterTestsHooks;
}
//# sourceMappingURL=Sandbox.d.ts.map