/** * A terminal region that captures all writes and allows reading back the final state * Implements the same interface as TerminalRegion for testing */ export declare class CapturableTerminal { private lines; private setLineCalls; width: number; height: number; constructor(width?: number, height?: number); /** * Get the final content of a line (what would actually be displayed) */ getLine(lineNumber: number): string; /** * Get all lines that were written to */ getAllLines(): Map; /** * Get all setLine calls in order */ getSetLineCalls(): Array<{ line: number; content: string; }>; /** * Clear all captured content */ clear(): void; /** * Get a snapshot of the terminal as a string (for debugging) */ snapshot(): string; setLine(lineNumber: number, content: string | { text: string; style?: any; }): void; set(content: string | Array<{ text: string; style?: any; }> | any): void; clearLine(lineNumber: number): void; flush(): void; setThrottle(fps: number): void; destroy(clearFirst?: boolean): void; } /** * A smarter capturable terminal that properly merges content when multiple columns * write to the same line (simulating what should happen) */ export declare class MergingCapturableTerminal extends CapturableTerminal { /** * Override setLine to merge content instead of overwriting * This simulates the correct behavior we want */ setLine(lineNumber: number, content: string | { text: string; style?: any; }): void; } //# sourceMappingURL=capturable-terminal.d.ts.map