import { type RawEntry } from "./output.js"; import { type DOMElement } from "./dom.js"; import { type CellBuffer } from "./cell-buffer.js"; interface CellRendererResult { /** Interactive frame rendered into `buffer`. */ buffer: CellBuffer; /** Height (rows) of the interactive frame. */ outputHeight: number; /** Newly appended `` output, with trailing newline when present. */ staticOutput: string; /** Screen-reader text when screen-reader mode is enabled. */ screenReaderOutput?: string; /** Raw entries to write after the main output. */ rawEntries: RawEntry[]; } /** * Renderer that writes interactive output into a CellBuffer. * * Static output is still rendered as string output because it is emitted once * and not updated incrementally. * * @param node - Root DOM node to render. * @param buffer - Reusable destination buffer for the interactive frame. * @param isScreenReaderEnabled - Enables screen-reader rendering path. * @returns The rendered interactive frame and any static output emitted this pass. */ export declare const cellRenderer: (node: DOMElement, buffer: CellBuffer, isScreenReaderEnabled: boolean) => CellRendererResult; export {};