export interface TranscriptTailer { stop(): void; } export interface TailTranscriptOpts { /** Poll interval backstopping fs.watch (which can miss the first appends on * freshly-created files — and the file often doesn't exist when we attach). */ pollMs: number; /** Engine label for the read-failure log line (e.g. "Codex", "antigravity"). */ label: string; } /** * Tail a transcript JSONL from `startOffset`, invoking `onLine` for each complete * appended line. Shared by the codex and antigravity interactive engines (which * detect turn boundaries from their CLIs' on-disk transcripts — no hook system). * * Combines fs.watch with interval polling; handles partial-line buffering and * file-handle recovery on read errors. Concurrent wake-ups during a read are * coalesced into one follow-up pass (`pending`) so no append is left waiting for * the next poll tick. */ export declare function tailTranscriptLines(filePath: string, startOffset: number, onLine: (line: string) => void, opts: TailTranscriptOpts): TranscriptTailer; //# sourceMappingURL=transcript-tailer.d.ts.map