/**
 * Knowledge coverage analyzer.
 * Computes coverage rates by comparing consumed knowledge against the full index.
 */
import type { ToolCallInfo, ResultEntry, Report } from '../types/index.js';
export interface KnowledgeEntry {
    path: string;
    type: 'principle' | 'semantic' | 'design' | 'script' | 'code' | 'other';
    lineCount?: number;
}
export interface KnowledgeIndex {
    entries: KnowledgeEntry[];
    totalFiles: number;
    totalLines: number;
}
export interface KnowledgeConsumption {
    filesRead: string[];
    grepPatterns: Array<{
        pattern: string;
        path?: string;
    }>;
    bashGrepPatterns: Array<{
        pattern: string;
        path?: string;
    }>;
}
export declare function extractReferencedPaths(artifactContent: string): string[];
export declare function buildKnowledgeIndex(cwd: string): KnowledgeIndex;
export declare function buildFullKnowledgeIndex(artifactContent: string | null, cwd: string | null): KnowledgeIndex;
export declare function extractKnowledgeConsumption(toolCalls: ToolCallInfo[]): KnowledgeConsumption;
export declare function normalizeKnowledgePath(filePath: string, cwd?: string | null): string;
export interface CoverageEntry {
    path: string;
    type: KnowledgeEntry['type'];
    accessed: boolean;
    accessCount: number;
    lineCount?: number;
}
export interface CoverageReport {
    entries: CoverageEntry[];
    filesCovered: number;
    filesTotal: number;
    fileCoverageRate: number;
    uncoveredFiles: string[];
    grepPatternsUsed: number;
    overallRate: number;
}
/**
 * Compute knowledge coverage for a single variant across all samples.
 */
export declare function computeCoverage(results: ResultEntry[], variant: string, index: KnowledgeIndex, cwd?: string | null): CoverageReport;
/**
 * Compute coverage reports for all variants in a report.
 * Returns a map of variant → CoverageReport.
 */
export declare function computeReportCoverage(report: Report, artifactContents: Record<string, string | null>, cwds: Record<string, string | null>): Record<string, CoverageReport>;
//# sourceMappingURL=coverage-analyzer.d.ts.map