import type { ActiveSprint, AnalysisFinding, Principle, SprintFile, Task } from '../types'; export interface AnalysisResult { scope: string; findings: AnalysisFinding[]; blocking: boolean; } export declare function runAnalysis(requestedScope: string | null): AnalysisResult; export declare function collectFindings(sprint: SprintFile, principles: Principle[]): AnalysisFinding[]; export declare function countClarificationMarkers(sprint: SprintFile): number; export interface SpecFindingsOptions { /** * Scenario ids already linked by tasks in closed sprints (ledger checkpoints/snapshots). * Active-sprint coverage still uses live tasks; historical ids suppress "no task coverage" * MEDIUM noise after close without deleting scenarios. */ historicalScenarioRefs?: Iterable; } export declare function collectSpecFindings(sprint: SprintFile, options?: SpecFindingsOptions): AnalysisFinding[]; /** * Collect scenario ids referenced by tasks in closed sprints, from ledger checkpoint/snapshot * artifacts. Missing or unreadable archives are skipped (doctor --artifacts owns integrity). * Pure wrt live sprint mutation: read-only archive I/O only. */ export declare function collectHistoricalScenarioRefs(scope: string, sprint: SprintFile): Set; export declare function collectCheckerFindings(sprint: SprintFile, principles: Principle[]): AnalysisFinding[]; export declare function normalizeCriterion(text: string): string; export declare function allTasks(active: ActiveSprint): Task[]; //# sourceMappingURL=analysis.d.ts.map