import type { Constructor } from '../util/Constructor'; import type { AbstractPrintLineBuffer } from '../printline/AbstractPrintLineBuffer'; import type { Styles } from '../styledtable/Style'; import type { StyledCell, IterableRow } from '../styledtable/StyledTable'; import type { ComputedTopLevelStyles, ComputedRowStyles, ComputedColumnStyles } from './AbstractBufferedRenderer'; import type { FlexSizeRenderer } from './FlexSizeRenderer'; export interface BorderComputedTopLevelStyles extends ComputedTopLevelStyles { rowJoints: number[]; columnJoints: number[]; } export interface BorderComputedRowStyles extends ComputedRowStyles, BorderComputedTopLevelStyles { currRowHeight: number; prevRowHeight: number; topHorizontalLines: boolean[]; bottomHorizontalLines: boolean[]; topVerticalLines: boolean[]; bottomVerticalLines: boolean[]; } export interface BorderComputedColumnStyles extends ComputedColumnStyles, BorderComputedTopLevelStyles { } export interface BorderComputedCellStyles extends BorderComputedRowStyles, BorderComputedColumnStyles { } export declare function BorderRenderer>(BufferedRenderer: Constructor>): { new (...args: any[]): { initComputedStyles(computedStyles: Styles): void; computeStyles(cell: StyledCell, computedStyles: BorderComputedCellStyles): void; getColumnWidth(columnIndex: number, computedStyles: BorderComputedColumnStyles): number; getRowHeight(row: IterableRow, computedStyles: BorderComputedRowStyles): number; getRowShift(row: IterableRow, computedStyles: BorderComputedRowStyles): number; fillHorizontalBorder(buffer: TBuffer, x: number, y: number, char: string, width: number): void; fillVerticalBorder(buffer: TBuffer, x: number, y: number, char: string, height: number): void; fillCornerBorder(buffer: TBuffer, x: number, y: number, char: string | undefined): void; fillBlock(buffer: TBuffer, x: number, y: number, content: any[], width: number, height: number, cell: StyledCell, computedStyles: BorderComputedCellStyles): void; computeContentWidth(content: any, cell: StyledCell): number; copmuteContentHeight(content: any, cell: StyledCell): number; computeColumnWidth(content: any, cell: StyledCell): number; computeRowHeight(content: any, cell: StyledCell): number; createBuffer(space?: string | undefined): TBuffer; getRowWidth(computedStyles: Styles): number; getCellWidth({ columnIndex }: StyledCell, computedStyles: import("./AbstractBufferedRenderer").ComputedCellStyles): number; getContent({ style, value }: StyledCell): any; fillLine(buffer: TBuffer, x: number, y: number, content: string, width: number, cell: StyledCell, computedStyles: import("./AbstractBufferedRenderer").ComputedCellStyles): void; fillBuffer(buffer: TBuffer, x: number, y: number, width: number, height: number, cell: StyledCell, computedStyles: import("./AbstractBufferedRenderer").ComputedCellStyles): void; render(styledTable: import("../styledtable/StyledTable").StyledTable): Generator; toString(styledTable: import("../styledtable/StyledTable").StyledTable): string; }; };