import { MutantResult } from '@stryker-mutator/api/core';
import { DryRunCompletedEvent, MutationTestingPlanReadyEvent, Reporter } from '@stryker-mutator/api/report';
export declare abstract class ProgressKeeper implements Reporter {
    private timer;
    private timing;
    private capabilities;
    private ticksByMutantId;
    protected progress: {
        survived: number;
        timedOut: number;
        tested: number;
        mutants: number;
        total: number;
        ticks: number;
    };
    onDryRunCompleted({ timing, capabilities, }: DryRunCompletedEvent): void;
    /**
     * An event emitted when the mutant test plan is calculated.
     * @param event The mutant test plan ready event
     */
    onMutationTestingPlanReady({ mutantPlans, }: MutationTestingPlanReadyEvent): void;
    onMutantTested(result: MutantResult): number;
    protected getElapsedTime(): string;
    protected getEtc(): string;
    private formatTime;
}
//# sourceMappingURL=progress-keeper.d.ts.map