export interface BenchmarkCoverageEntry {
	provider: string;
	id: string;
}

export interface BenchmarkCoverageSummary {
	total: number;
	coveredCount: number;
	uncoveredCount: number;
	coverageRatio: number;
}

export interface BenchmarkCoverageResult {
	covered: BenchmarkCoverageEntry[];
	uncovered: BenchmarkCoverageEntry[];
	summary: BenchmarkCoverageSummary;
}

export declare function normalizeForBenchmarkLookup(modelId: string): string;
export declare function computeBenchmarkCoverage(
	prefs: Record<string, unknown>,
): BenchmarkCoverageResult;
export declare function writeBenchmarkCoverage(
	coverage: BenchmarkCoverageResult,
): void;
export declare function detectCoverageChange(
	coverage: BenchmarkCoverageResult,
): boolean;
export declare function scheduleBenchmarkCoverageAudit(
	prefs: Record<string, unknown>,
	notify?: (message: string) => void,
): void;
