/**
 * Sanitize ANSI cursor positioning sequences to prevent memory exhaustion.
 *
 * Sequences like `ESC[9999999;1H` can cause TerminalTextRender to allocate
 * millions of empty lines. This function caps row/column values in:
 * - CUP (cursor position): ESC[<row>;<col>H  or ESC[<row>;<col>f
 * - CUU/CUD/CUF/CUB (cursor movement): ESC[<n>A/B/C/D
 * - CNL (cursor next line): ESC[<n>E
 * - VPA (vertical position absolute): ESC[<row>d
 * - HPA (horizontal position absolute): ESC[<col>G or ESC[<col>`
 *
 * In addition to per-sequence caps, this tracks cumulative cursor position
 * to prevent accumulation attacks where many sequences each at the per-sequence
 * cap combine to push the cursor to millions of rows/columns, triggering OOM
 * via array allocation in the terminal renderer.
 */
export declare function sanitizeCursorPositioning(input: string): string;
/**
 * Process raw terminal output through a terminal renderer, producing the clean
 * text a human would actually see on screen.
 *
 * This handles:
 * - Carriage returns (`\r`) — progress bars overwrite the current line
 * - ANSI cursor movement — up, down, forward, backward, absolute positioning
 * - Backspace (`\b`) — moves cursor back one position
 * - Line clearing / screen clearing escape sequences
 * - Tab stops
 *
 * The result is the final rendered state of the terminal — identical to what
 * a human would see in a real terminal after the output completes.
 *
 * Safety:
 * - Cursor positioning values are capped to prevent memory exhaustion
 * - Errors fall back to returning the raw input
 */
export declare function renderTerminalOutput(raw: string): string;
//# sourceMappingURL=terminal-render.d.ts.map