import type { Styles } from '../styledtable/Style'; import type { PrintLine } from '../printline/PrintLine'; import type { AbstractPrintLineBuffer } from '../printline/AbstractPrintLineBuffer'; import type { StyledTable, StyledCell, IterableRow } from '../styledtable/StyledTable'; import { AbstractRenderer } from './AbstractRenderer'; export interface ComputedTopLevelStyles { rows: ArrayLike; columns: ArrayLike; } export interface ComputedRowStyles extends ComputedTopLevelStyles { row: Styles; } export interface ComputedColumnStyles extends ComputedTopLevelStyles { column: Styles; } export interface ComputedCellStyles extends ComputedRowStyles, ComputedColumnStyles { } export declare abstract class AbstractBufferedRenderer, TPrintLine extends PrintLine = PrintLine> extends AbstractRenderer { abstract createBuffer(space?: string): TBuffer; initComputedStyles(computedStyles: Styles): void; computeStyles(cell: StyledCell, computedStyles: ComputedCellStyles): void; getRowWidth(computedStyles: Styles): number; getRowHeight(row: IterableRow, computedStyles: ComputedRowStyles): number; getColumnWidth(columnIndex: number, computedStyles: ComputedColumnStyles): number; getCellWidth({ columnIndex }: StyledCell, computedStyles: ComputedCellStyles): number; getRowShift(row: IterableRow, computedStyles: ComputedRowStyles): number; getContent({ style, value }: StyledCell): any; fillLine(buffer: TBuffer, x: number, y: number, content: string, width: number, cell: StyledCell, computedStyles: ComputedCellStyles): void; fillBlock(buffer: TBuffer, x: number, y: number, content: any[], width: number, height: number, cell: StyledCell, computedStyles: ComputedCellStyles): void; fillBuffer(buffer: TBuffer, x: number, y: number, width: number, height: number, cell: StyledCell, computedStyles: ComputedCellStyles): void; render(styledTable: StyledTable): Generator; }