/** Describes a single cache-flush event detected in the JSONL stream. */ export interface FlushEvent { /** 0-based turn index within the assistant entries. */ turn: number; /** 1-based line number in the original JSONL file (empty lines included in count). */ line: number; /** ISO timestamp string from the JSONL entry, or null if absent. */ timestamp: string | null; } /** * Re-parse a Claude Code session JSONL file and return one {@link FlushEvent} * per detected cache flush, preserving the **1-based line number** from the * original file and the entry's `timestamp` field when present. * * Flush detection heuristic (identical to `summariseCacheHealth`): * `turn_index > 0 && cache_creation > FLUSH_CREATION_THRESHOLD && cache_read < FLUSH_READ_THRESHOLD` * * Line numbers are 1-based and count all lines (including empty and malformed), * so they can be used to locate the entry in the raw file. * * Non-assistant entries and malformed JSON lines are skipped (same semantics as * `readSessionJsonl`), but they still increment the line counter. */ export declare function extractFlushTurns(filePath: string): FlushEvent[];