type Cell = ([number, string] & {
    style?: string;
}) | null;
type Row = Cell[];
export declare class TerminalBuffer {
    private _cols;
    private _rows;
    private _screen;
    private _primaryScreen;
    private _cursorX;
    private _cursorY;
    private _savedCursor;
    private _scrollTop;
    private _scrollBottom;
    private _state;
    private _csiParams;
    private _csiPrivate;
    private _autoWrap;
    private _pendingWrap;
    private _originMode;
    private _insertMode;
    private _tabStops;
    private _lastPrintedChar;
    private _style;
    private _styleSequence;
    private _stringState;
    private _charsetTarget;
    private _g0Charset;
    private _g1Charset;
    private _shiftOut;
    readonly displayBuffer: {
        readonly cursorX: number;
        readonly cursorY: number;
        readonly data: Array<Row | undefined>;
    };
    constructor(cols: number, rows: number);
    write(data: string): void;
    renderLine(row: number): string;
    resize(cols: number, rows: number): void;
    private _makeScreen;
    private _makeRow;
    private _createDefaultTabStops;
    private _clamp;
    private _createSavedCursorState;
    private _saveCursor;
    private _restoreCursor;
    private _resetModes;
    private _writePrintable;
    private _cellWidth;
    private _appendCombiningMark;
    private _findCombiningTarget;
    private _setChar;
    private _eraseLine;
    private _scrollUp;
    private _scrollDown;
    private _newline;
    private _parseCsiParams;
    private _execCsi;
    private _feed;
    private _feedNormal;
    private _feedEscape;
    private _feedCsi;
    private _resetStyle;
    private _applySgr;
    private _applyExtendedColor;
}
export {};
