export interface RegionOptions { width?: number; height?: number; stdout?: NodeJS.WriteStream; disableRendering?: boolean; onKeepAlive?: () => void; } export declare class TerminalRegion { private width; private height; private pendingFrame; private previousFrame; private throttle; private renderBuffer; private stdout; private disableRendering; private isInitialized; private resizeCleanup?; private widthExplicitlySet; private regionStartRow; private autoWrapKeepAliveInterval?; private onKeepAlive?; constructor(options?: RegionOptions); private initializeRegion; private setupAutoWrapKeepAlive; private setupResizeHandler; private setupExitHandler; getWidth(): number; getHeight(): number; setLine(lineNumber: number, content: string): void; private expandTo; set(content: string): void; getLine(lineNumber: number): string; clear(): void; clearLine(lineNumber: number): void; private scheduleRender; /** * SIMPLIFIED RENDERING - back to basics * * Uses absolute positioning based on terminal rows: * - Region is at bottom: starts at row (rows - height + 1), ends at row (rows) * - On resize, we recalculate using new rows value * * 1. Calculate absolute row positions from terminal.rows * 2. Move to start of region using absolute positioning * 3. For each line: clear, write (truncated), move to start, move down * 4. Save cursor position at end */ renderNow(): void; flush(): void; destroy(clearFirst?: boolean): void; } //# sourceMappingURL=region.d.ts.map