/** * Per-generation cap. Override with `LENSMCP_EVENT_MAX_BYTES` (default 50 MB); 0/invalid ⇒ default. */ export declare function eventMaxBytes(env?: NodeJS.ProcessEnv): number; /** * Rotated generations kept as history (`.1` … `.N`, newest → oldest). With the live file that bounds * a workspace to (N+1) × the cap — ~300 MB at defaults. Override with `LENSMCP_EVENT_MAX_FILES`. */ export declare function eventMaxFiles(env?: NodeJS.ProcessEnv): number; /** * Rotate `file` if it has outgrown the per-generation cap. * * Drops the oldest generation, shifts `.1` → `.2` → … → `.N`, and renames the live file to `.1`; * the next append recreates it. Best-effort throughout — many processes append to one path, and the * final `renameSync` is atomic, so a writer that loses the race throws ENOENT and no-ops. A racing * shift can at worst mis-order HISTORY generations; it can never touch the live file. * * `caps` exists for tests, and passing it also bypasses the throttle so a test need not append a * megabyte to observe a rotation. */ export declare function maybeRotateEventFile(file: string, addedBytes: number, caps?: { maxBytes?: number; maxFiles?: number; }): void; /** Test seam: forget the throttle state for a path (or all paths). */ export declare function resetRotationThrottle(file?: string): void;