export interface CoverageReport {
    overallCoverage: number;
    lineCoverage: number;
    functionCoverage: number;
    branchCoverage: number;
    uncoveredLines: UncoveredLine[];
    uncoveredFunctions: UncoveredFunction[];
    uncoveredBranches: UncoveredBranch[];
    fileReports: FileCoverageReport[];
}
export interface UncoveredLine {
    file: string;
    lineNumber: number;
    code: string;
    importance: 'high' | 'medium' | 'low';
}
export interface UncoveredFunction {
    file: string;
    functionName: string;
    lineNumber: number;
    signature: string;
    importance: 'high' | 'medium' | 'low';
}
export interface UncoveredBranch {
    file: string;
    lineNumber: number;
    condition: string;
    branchType: 'if' | 'for' | 'while' | 'require' | 'assert';
    importance: 'high' | 'medium' | 'low';
}
export interface FileCoverageReport {
    file: string;
    lineCoverage: number;
    functionCoverage: number;
    branchCoverage: number;
    totalLines: number;
    coveredLines: number;
    totalFunctions: number;
    coveredFunctions: number;
}
export interface PrioritizedUncovered {
    lines: UncoveredLine[];
    functions: UncoveredFunction[];
    branches: UncoveredBranch[];
    files: string[];
}
export declare class CoverageService {
    analyzeCoverage(projectPath: string): Promise<CoverageReport>;
    private analyzeForgeProjectCoverage;
    private analyzeHardhatProjectCoverage;
    private parseCoverageData;
    private parseLCOVData;
    private findSourceFiles;
    private analyzeFileForUncoveredCode;
    prioritizeUncoveredCode(coverageReport: CoverageReport): Promise<PrioritizedUncovered>;
    private isExecutableLine;
    private identifyBranchType;
    private assessLineImportance;
    private assessFunctionImportance;
    private assessBranchImportance;
    private calculateAverageLineCoverage;
    private calculateAverageFunctionCoverage;
    private calculateAverageBranchCoverage;
    private getImportanceScore;
}
//# sourceMappingURL=coverage.service.d.ts.map