/** * recordedChat — the session-scoped turn recorder. * * `recordedChat({ makeAgent })` returns a `RecordedChat`: `send()` runs one * recorded turn through the consumer's agent factory and freezes that turn's * evidence immediately; `reason(k)` / `rerunTurn(k)` / `fork(k)` are the * per-turn transparency loop, composing with the existing context-bisect * surface (`localizeContextBug`, `rerunWithoutSources`) rather than * duplicating it. See `./types.ts` for the three traps this owns. * * Compose-don't-inherit house style: a module-private session class, * factory-returned; no base classes. */ import type { RecordedChat, RecordedChatOptions } from './types.js'; /** * Record a chat turn-by-turn so any reply can be explained, counterfactually * re-run, and forked — without re-writing the correctness-critical glue every * chat host gets subtly wrong. See the [recordedChat guide](doc:recorded-chat). */ export declare function recordedChat(options: RecordedChatOptions): RecordedChat;