import { RoutingDecision } from './spec-routing-deriver.js'; import { DeferredSpec } from '../types.js'; export interface IndexResult { path: string; total: number; active: number; deferred: number; other: number; /** What to work on next, and why. Mirrors the rendered `## Next` section. */ routing: RoutingDecision; } /** * Generates INDEX.md — the multi-spec roadmap roll-up — from spec state on disk. * Modeled on DeferralStorage: full deterministic re-serialize and overwrite, so the * same on-disk state always produces a byte-identical file (idempotent re-generation). */ export declare class IndexGenerator { private projectPath; constructor(projectPath: string); /** (Re)write INDEX.md from current spec state. */ generate(): Promise; /** Mark a spec as deferred (must exist on disk). Caller is responsible for regenerating. */ defer(specName: string, reason: string): Promise; /** Clear a spec's deferred marker. No-op if the spec is not deferred. */ undefer(specName: string): Promise; /** * List specs currently marked deferred. Read-only view of the same markers * `generate()` folds into the INDEX.md Deferred section, ordered the same way. */ listDeferredSpecs(): Promise; private categorize; private render; private label; private progress; /** Escape free text for a single markdown table cell. */ private cell; /** Index of the spec name's first whole-token mention in decomposition.md, or -1. */ private mentionIndex; private deferredMarkerPath; private readDeferredMarker; private readDecomposition; } //# sourceMappingURL=index-generator.d.ts.map