import { Injector, PluginContext } from '@stryker-mutator/api/plugin';
import { DryRunOptions, DryRunResult, MutantRunOptions, MutantRunResult, TestRunner, TestRunnerCapabilities } from '@stryker-mutator/api/test-runner';
import { INSTRUMENTER_CONSTANTS, StrykerOptions } from '@stryker-mutator/api/core';
import { Logger } from '@stryker-mutator/api/logging';
export declare function createTapTestRunnerFactory(namespace?: typeof INSTRUMENTER_CONSTANTS.NAMESPACE | '__stryker2__'): {
    (injector: Injector<PluginContext>): TapTestRunner;
    inject: ['$injector'];
};
export declare const createTapTestRunner: {
    (injector: Injector<PluginContext>): TapTestRunner;
    inject: ["$injector"];
};
export declare class TapTestRunner implements TestRunner {
    private readonly log;
    private readonly globalNamespace;
    static inject: ["options", "logger", "globalNamespace"];
    private testFiles;
    private static readonly hookFile;
    private readonly options;
    constructor(options: StrykerOptions, log: Logger, globalNamespace: typeof INSTRUMENTER_CONSTANTS.NAMESPACE | '__stryker2__');
    capabilities(): Promise<TestRunnerCapabilities> | TestRunnerCapabilities;
    init(): Promise<void>;
    dryRun(options: DryRunOptions): Promise<DryRunResult>;
    mutantRun(options: MutantRunOptions): Promise<MutantRunResult>;
    private run;
    private runFile;
    private tapResultToTestResult;
}
//# sourceMappingURL=tap-test-runner.d.ts.map