import type { CostSnapshot } from './llm/index'; import type { LlmMutatorMap } from './pipeline/llm-map'; /** * The mutable per-run state the wrapper populates and the Reporter consumes. * Reset to its empty shape by {@link resetRuntimeState} so a second run in the * same process (e.g. a test, or a watch-mode re-run) does not leak the prior run's * cost or map. */ export interface RuntimeState { /** The dynamic-LLM pre-pass cost snapshot (zero on a heuristics-only run). */ cost: CostSnapshot; /** * The precomputed `(absFileName, locKey) → ParsedEntry[]` map from the pre-pass, * or `undefined` when no dynamic-LLM pre-pass ran. Drives the Reporter's * id→`llm/` + original + rationale enrichment. */ map?: LlmMutatorMap; } /** Read the current runtime state (the live record — callers must not mutate it). */ export declare function getRuntimeState(): Readonly; /** Stash the dynamic-LLM pre-pass cost snapshot for the Reporter to render. */ export declare function setRunCost(cost: CostSnapshot): void; /** Stash the precomputed LLM map for the Reporter's enrichment correlation. */ export declare function setRunMap(map: LlmMutatorMap): void; /** * Reset the runtime state to empty (no cost, no map). Used between runs in one * process so a heuristics-only run does not inherit a prior run's LLM cost/map, and * for test isolation. */ export declare function resetRuntimeState(): void;