import { StrykerOptions } from '@stryker-mutator/api/core';
import { Logger, LoggerFactoryMethod } from '@stryker-mutator/api/logging';
import { Injector, PluginContext } from '@stryker-mutator/api/plugin';
import { TestRunner, DryRunOptions, MutantRunOptions, DryRunResult, MutantRunResult, TestRunnerCapabilities } from '@stryker-mutator/api/test-runner';
import { ProjectStarter } from './starters/project-starter.js';
export declare function createKarmaTestRunner(injector: Injector<PluginContext>): KarmaTestRunner;
export declare namespace createKarmaTestRunner {
    var inject: ["$injector"];
}
export declare class KarmaTestRunner implements TestRunner {
    private readonly log;
    private readonly starter;
    private exitPromise;
    private runConfig;
    private isDisposed;
    static inject: ["logger", "getLogger", "options", "karmaProjectStarter"];
    constructor(log: Logger, getLogger: LoggerFactoryMethod, options: StrykerOptions, starter: ProjectStarter);
    capabilities(): TestRunnerCapabilities;
    init(): Promise<void>;
    dryRun(options: DryRunOptions): Promise<DryRunResult>;
    mutantRun(options: MutantRunOptions): Promise<MutantRunResult>;
    private run;
    dispose(): Promise<void>;
    private loadSetup;
    private runServer;
}
//# sourceMappingURL=karma-test-runner.d.ts.map