/** * Coverage Vault Integration * * Integrates coverage data storage and retrieval with the Evidence Vault. */ import type { Database } from 'sqlite3'; import type { CoverageMetrics, CoverageResult, CoverageTrend, CoverageType } from './types.js'; /** * Coverage Vault class */ export declare class CoverageVault { private db; private dbRun; private dbAll; private dbGet; constructor(db: Database); /** * Initialize coverage tables */ initialize(): Promise; /** * Store coverage result for a run */ storeCoverage(runId: string, result: CoverageResult): Promise; /** * Store coverage summary for a run */ storeSummary(runId: string, metrics: CoverageMetrics): Promise; /** * Retrieve coverage for a run */ getCoverage(runId: string): Promise; /** * Get coverage summary for a run */ getSummary(runId: string): Promise; /** * Get coverage trends for a file */ getTrends(filePath: string, coverageType?: CoverageType, limit?: number): Promise; /** * Get overall coverage trends */ getOverallTrends(coverageType?: CoverageType, limit?: number): Promise; /** * Get coverage by gate */ getCoverageByGate(gate: string, limit?: number): Promise; /** * Get files with lowest coverage */ getLowestCoverageFiles(limit?: number): Promise>; /** * Get files with highest coverage */ getHighestCoverageFiles(limit?: number): Promise>; /** * Get coverage statistics across all runs */ getStatistics(): Promise<{ totalRuns: number; averageLineCoverage: number; averageBranchCoverage: number; averageFunctionCoverage: number; bestCoverage: { runId: string; coverage: number; }; worstCoverage: { runId: string; coverage: number; }; }>; /** * Delete coverage data for a run */ deleteCoverage(runId: string): Promise; /** * Get recent coverage changes (comparison with previous run) */ getRecentChanges(limit?: number): Promise>; }