import type { Constructor } from '../util/Constructor'; import type { AbstractPrintLineBuffer } from '../printline/AbstractPrintLineBuffer'; import type { StyledCell, IterableRow } from '../styledtable/StyledTable'; import type { ComputedRowStyles, ComputedColumnStyles, ComputedCellStyles } from './AbstractBufferedRenderer'; import type { GenericBufferedRenderer } from './GenericBufferedRenderer'; export interface FlexSizeRenderer extends GenericBufferedRenderer { computeContentWidth(content: any, cell: StyledCell): number; copmuteContentHeight(content: any, cell: StyledCell): number; computeColumnWidth(content: any, cell: StyledCell): number; computeRowHeight(content: any, cell: StyledCell): number; } export declare function FlexSizeRenderer(BufferedRenderer: Constructor>): { new (...args: any[]): { computeContentWidth(content: any, _: StyledCell): number; computeColumnWidth(content: any, cell: StyledCell): any; copmuteContentHeight(content: any, _: StyledCell): number; computeRowHeight(content: any, cell: StyledCell): any; computeStyles(cell: StyledCell, { row, column }: ComputedCellStyles): void; getRowHeight(_: IterableRow, { row }: ComputedRowStyles): any; getColumnWidth(_: number, { column }: ComputedColumnStyles): any; createBuffer(space?: string | undefined): TBuffer; initComputedStyles(computedStyles: import("..").Styles): void; getRowWidth(computedStyles: import("..").Styles): 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: import("../styledtable/StyledTable").StyledTable): Generator; toString(styledTable: import("../styledtable/StyledTable").StyledTable): string; }; };