export declare class ScreenRecorder {
    readonly columns: number;
    readonly rows: number;
    private lines;
    private cursorRow;
    private cursorCol;
    constructor({ columns, rows }: {
        columns: number;
        rows: number;
    });
    write(data: string): void;
    /** The bottom `rows` lines of the buffer, trailing-trimmed. */
    viewportLines(): string[];
    /** Whole buffer joined as text (trailing-trimmed per line). */
    fullText(): string;
    /** 0-based row of the first viewport line containing `needle`, or -1. */
    footerRow(needle: string): number;
    private parseEscape;
    private applyCsi;
    private putChar;
    private newLine;
    private ensureLine;
}
/**
 * A stdout-shaped object that replays every write into a {@link ScreenRecorder}.
 * Mirrors the minimal surface Ink touches on a TTY stream.
 */
export declare function makeRecordingStdout(recorder: ScreenRecorder): NodeJS.WriteStream;
//# sourceMappingURL=screen-recorder.d.ts.map