import { Location } from 'stryker-api/core';
import { RunResult, TestResult } from 'stryker-api/test_runner';
import { Mutant } from 'stryker-api/mutant';
import SourceFile from './SourceFile';
import { MutantStatus, MutantResult } from 'stryker-api/report';
import { TestSelection } from 'stryker-api/test_framework';
export declare enum TestSelectionResult {
    Failed = 0,
    FailedButAlreadyReported = 1,
    Success = 2
}
export default class TestableMutant {
    readonly id: string;
    mutant: Mutant;
    sourceFile: SourceFile;
    private readonly _selectedTests;
    specsRan: string[];
    private _timeSpentScopedTests;
    private _location;
    testSelectionResult: TestSelectionResult;
    readonly selectedTests: TestSelection[];
    readonly timeSpentScopedTests: number;
    readonly fileName: string;
    readonly mutatorName: string;
    readonly range: [number, number];
    readonly replacement: string;
    readonly location: Location;
    readonly mutatedCode: string;
    readonly originalCode: string;
    selectAllTests(runResult: RunResult, testSelectionResult: TestSelectionResult): void;
    selectTest(testResult: TestResult, index: number): void;
    constructor(id: string, mutant: Mutant, sourceFile: SourceFile);
    readonly originalLines: string;
    readonly mutatedLines: string;
    private getMutationLineIndexes;
    result(status: MutantStatus, testsRan: string[]): MutantResult;
    toString(): string;
}
//# sourceMappingURL=TestableMutant.d.ts.map