import type { GovernanceSignals } from "./governance-maturity.js"; interface ScoreGapItem { subAxisId: string; name: string; findings: number; penalty: number; /** Approximate Health-Score points recovered if this sub-axis is cleared. */ pointsRecoverable: number; } interface MaturityGap { currentLevel: number; currentLabel: string; /** Next rung, or null when at the detectable cap (L4). */ nextLevel: number | null; nextLabel: string | null; /** Concrete signals/rules to add to reach `nextLevel`. Empty when capped. */ missing: string[]; } export interface GapReport { scoreGaps: ScoreGapItem[]; maturityGap: MaturityGap | null; } interface BucketLike { subAxisId: string; name: string; status: string; countedFindings: number; penalty: number; } /** * Deterministic, actionable "how to improve" report. The score gap lists only * stable (counted) sub-axes — fixing them genuinely moves the Health Score — * ranked by penalty. The maturity gap names the concrete affordances needed to * climb the Kavcic ladder one rung. Kavcic is one lens; HAX/PAIR remain the * ground-truth anchors. */ export declare function generateGapReport(buckets: BucketLike[], maturity?: { level: number; signals: GovernanceSignals; }): GapReport; export {};