import { StrykerOptions, INSTRUMENTER_CONSTANTS } from '@stryker-mutator/api/core';
import { Logger } from '@stryker-mutator/api/logging';
import { Injector, PluginContext } from '@stryker-mutator/api/plugin';
import { TestRunner, MutantRunOptions, DryRunResult, MutantRunResult, DryRunOptions, TestRunnerCapabilities } from '@stryker-mutator/api/test-runner';
import { JestTestAdapter } from './jest-test-adapters/jest-test-adapter.js';
import { JestConfigLoader } from './config-loaders/jest-config-loader.js';
import { JestWrapper } from './utils/index.js';
export declare function createJestTestRunnerFactory(namespace?: typeof INSTRUMENTER_CONSTANTS.NAMESPACE | '__stryker2__'): {
    (injector: Injector<PluginContext>): JestTestRunner;
    inject: ['$injector'];
};
export declare const jestTestRunnerFactory: {
    (injector: Injector<PluginContext>): JestTestRunner;
    inject: ["$injector"];
};
export declare class JestTestRunner implements TestRunner {
    private readonly log;
    private readonly jestTestAdapter;
    private readonly configLoader;
    private readonly jestWrapper;
    private readonly globalNamespace;
    private jestConfig;
    private readonly jestOptions;
    private readonly enableFindRelatedTests;
    static inject: ["logger", "options", "jestTestAdapter", "configLoader", "jestWrapper", "globalNamespace"];
    constructor(log: Logger, options: StrykerOptions, jestTestAdapter: JestTestAdapter, configLoader: JestConfigLoader, jestWrapper: JestWrapper, globalNamespace: typeof INSTRUMENTER_CONSTANTS.NAMESPACE | '__stryker2__');
    init(): Promise<void>;
    capabilities(): TestRunnerCapabilities;
    dryRun(options: DryRunOptions): Promise<DryRunResult>;
    mutantRun({ activeMutant, sandboxFileName, testFilter, disableBail, hitLimit, }: MutantRunOptions): Promise<MutantRunResult>;
    private configForDryRun;
    private configForMutantRun;
    private configWithRoots;
    private run;
    private collectRunResult;
    private collectSerializableErrorText;
    private setEnv;
    private processTestResults;
    private mergeConfigSettings;
}
//# sourceMappingURL=jest-test-runner.d.ts.map