import type { DomainBestPractice, CriteriaSuggestion } from '../types/index.js';
declare const COVERAGE_THRESHOLD = 0.75;
/**
 * Checks whether a criterion is already covered in existing spec content.
 * Uses simple keyword-overlap (fuzzy): if any coverageKeyword appears in the spec
 * content, the criterion is considered covered.
 */
export declare function isCriterionCovered(practice: DomainBestPractice, specContent: string): boolean;
/**
 * Compute a rough coverage score between 0..1 based on keyword overlap.
 * Not used for hard decisions — exposed for testing and future UI use.
 */
export declare function coverageScore(practice: DomainBestPractice, specContent: string): number;
/**
 * Load all best practices from the 3-layer config system.
 */
export declare function loadBestPractices(projectHash?: string): DomainBestPractice[];
/**
 * Compute criteria suggestions for a given list of detected domains and spec content.
 *
 * For each domain:
 * - Filters out criteria already covered in spec content (fuzzy keyword match)
 * - Returns suggested and already-covered criteria separately
 */
export declare function computeSuggestions(domains: string[], specContent: string, projectHash?: string): CriteriaSuggestion[];
export { COVERAGE_THRESHOLD };
//# sourceMappingURL=best-practices-library.d.ts.map