/** * Simple terminal buffer that handles basic control sequences * to properly represent what would be shown in a real terminal */ export declare class TerminalBuffer { private lines; private currentLine; private currentColumn; private maxLines; private maxColumns; private chunks; constructor(maxLines?: number, maxColumns?: number); write(data: string): void; private ensureLineExists; getWrite(): string; getContent(): string; clear(): void; /** * Like getContent(), but collapses runs of consecutive similar lines * (e.g. webpack progress, npm install steps) into a summary. */ getCompactContent(opts?: { minPrefixLength?: number; minRunLength?: number; maxLines?: number; }): string; /** * Collapse runs of 3+ consecutive lines that share a long common prefix. * Keeps the first and last line of each run and inserts a count summary. * When maxLines is set, keeps the last maxLines from the result and * prepends a truncation notice. */ static collapseRepetitiveLines(text: string, { minPrefixLength, minRunLength, maxLines, }?: { minPrefixLength?: number; minRunLength?: number; maxLines?: number; }): string; private static commonPrefixLength; /** * Get current cursor position for testing/debugging */ getCursorPosition(): { line: number; column: number; }; /** * Get the current number of lines for testing/debugging */ getLineCount(): number; }