import type { HistoryEntry } from './components/history/types.js'; /** * Display history is a cache, not the canonical session record. Keep enough * recent output for useful scrolling while the complete JSONL session remains * available for resume/replay. */ export declare const TUI_HISTORY_MAX_ENTRIES = 400; export declare const TUI_HISTORY_MAX_BYTES: number; /** No single display entry may monopolize the aggregate history budget. */ export declare const TUI_HISTORY_MAX_ENTRY_BYTES: number; /** * Enforce the per-entry display budget before aggregate history retention. * Common text entries keep a readable prefix; unusual oversized structured * entries degrade to a small marker rather than retaining an unbounded graph. */ export declare function retainTuiHistoryEntry(entry: HistoryEntry, maxBytes?: number): HistoryEntry; export interface TuiHistoryBudget { maxEntries?: number | undefined; maxBytes?: number | undefined; maxEntryBytes?: number | undefined; } /** * Retain the newest display entries within both a count and serialized-byte * budget. The first banner that still fits after per-entry compaction is * preserved separately; later banners are discarded. If a banner cannot fit * even in compact form, it degrades to the same bounded transcript marker as * any other oversized structured entry. An omission marker replaces a * discarded transcript prefix. Returns the original array when no work is * needed so reducer callers can bail out without scheduling another render. */ export declare function retainTuiHistory(entries: HistoryEntry[], budget?: TuiHistoryBudget): HistoryEntry[]; //# sourceMappingURL=history-retention.d.ts.map