import type { GovernanceSignals } from "../reliability/governance-maturity.js"; import type { GapReport } from "../reliability/gap-report.js"; import type { Finding as ReliabilityFinding } from "../reliability/types.js"; import type { AxisScore } from "../types.js"; export interface ExplainScoreOpts { cwd: string; staticOnly?: boolean; /** Scoring model override (default resolves to `DEFAULT_SCORE_MODEL` = v3). */ scoreModel?: "v2" | "v3"; /** Injected for tests — defaults to the resolved connector. */ maturityConnector?: import("../llm/connectors/types.js").ConnectorClient; maturityTimeoutMs?: number; } interface AxisBucket { subAxisId: string; name: string; status: "stable" | "experimental" | "disabled"; countedFindings: number; reportedOnlyFindings: number; confidence: number; penalty: number; } export interface ExplainScoreResult { /** The audit's `finalScore` (H4: byte-identical to `lyse audit`'s Health Score). */ score: number | "N/A"; version: string; countedTotal: number; reportedOnlyTotal: number; buckets: AxisBucket[]; rawText: string; maturityLevel?: number; gapReport: GapReport; } export interface FormatExplainScoreArgs { findings: ReliabilityFinding[]; stableSubAxes: Set; confidenceByAxis: Record; /** The audit's `finalScore` — the single source of truth for the headline number (H4). */ finalScore: number | "N/A"; /** The audit's `scoringVersion` — reported alongside `finalScore`, not a locally-pinned value. */ scoringVersion: string; /** Per-axis adoption breakdown from the audit result, rendered as ratio sentences. */ axes: AxisScore[]; /** AI-Governance Maturity Level (Track #72/#155) — reported alongside the score. */ maturity?: { level: number; signals: GovernanceSignals; llmDerived?: boolean; }; } export declare function formatExplainScore(args: FormatExplainScoreArgs): ExplainScoreResult; /** * Compute the score breakdown for the current repo and return both the * structured data (for tests) and a Lighthouse-style text rendering (for stdout). */ export declare function explainScore(opts: ExplainScoreOpts): Promise; export declare function runExplainScore(opts: ExplainScoreOpts): Promise; export {};