import { Reporter, SourceFile, MutantResult, MatchedMutant, ScoreResult } from 'stryker-api/report';
import { Logger } from 'stryker-api/logging';
import StrictReporter from './StrictReporter';
import { PluginKind } from 'stryker-api/plugin';
import { StrykerOptions } from 'stryker-api/core';
import { PluginCreator } from '../di/PluginCreator';
export default class BroadcastReporter implements StrictReporter {
    private readonly options;
    private readonly pluginCreator;
    private readonly log;
    static readonly inject: ["options", "pluginCreatorReporter", "logger"];
    readonly reporters: {
        [name: string]: Reporter;
    };
    constructor(options: StrykerOptions, pluginCreator: PluginCreator<PluginKind.Reporter>, log: Logger);
    private createReporter;
    private logAboutReporters;
    private broadcast;
    onSourceFileRead(file: SourceFile): void;
    onAllSourceFilesRead(files: SourceFile[]): void;
    onAllMutantsMatchedWithTests(results: ReadonlyArray<MatchedMutant>): void;
    onMutantTested(result: MutantResult): void;
    onAllMutantsTested(results: MutantResult[]): void;
    onScoreCalculated(score: ScoreResult): void;
    wrapUp(): Promise<void>;
    private handleError;
}
//# sourceMappingURL=BroadcastReporter.d.ts.map