import { CellGridData, CellIndex, CellRow } from "../../../../commons/parse-doc"; import { BlockElement, ContainerElement, BlockData, EditorDoc, Editor } from "../../interface"; export { CellIndex, } from "../../../../commons/parse-doc"; export interface TableBlockData extends BlockData { rows: number; cols: number; children: string[]; colsWidth: number[]; showChart?: boolean; noBorder?: boolean; [index: string]: any; } export interface TableSelection { startCol: number; startRow: number; endCol: number; endRow: number; startCell: HTMLTableCellElement | null; endCell: HTMLTableCellElement | null; block: BlockElement | null; fromCell: HTMLTableCellElement | null; selectFullCell?: boolean; } export declare const EmptySelection: TableSelection; export declare class TableCell implements CellGridData { cellId: string; row: number; col: number; colSpan: number; rowSpan: number; virtual?: boolean; table: HTMLTableElement; constructor(table: HTMLTableElement, cellData: CellGridData); get cell(): HTMLTableCellElement; get container(): ContainerElement; } export declare class TableRow { private _cells; constructor(table: HTMLTableElement, row: CellRow); get cells(): TableCell[]; getCell(col: number): TableCell; getNextNonVirtualCell(col: number): TableCell | undefined; getSpannedCell(): TableCell | undefined; } export declare class TableCellGrid { private _rows; private colGroup; constructor(table: HTMLTableElement, tableData?: TableBlockData, disableColWidth?: boolean); get rowCount(): number; get colCount(): number; getAllColsWidth(): number[]; getRow(row: number): TableRow; getCell(cellIndex: CellIndex): TableCell; getCellContainer(cellIndex: CellIndex): ContainerElement; getFirstCellContainer(): ContainerElement; getLastCellContainer(): ContainerElement; getColumnCells(colIndex: number): TableCell[]; toRealCells(cells: TableCell[]): TableCell[]; getColumnRealCells(colIndex: number): TableCell[]; getRowRealCells(rowIndex: number): TableCell[]; getFirstSpannedCell(colIndex: number): TableCell | undefined; getRealCell(cellIndex: CellIndex): TableCell; getColumnSpannedRange(col: number): number[]; getRowSpannedRange(row: number): number[]; getSpannedRange(startIndex: CellIndex, endIndex: CellIndex): CellIndex[]; getBottomCell(cellData: TableCell): TableCell | null; getTopCell(cellData: TableCell): TableCell | null; get cells(): TableCell[]; getCellById(cellId: string): TableCell; getCellByElement(elem: HTMLElement): TableCell; private static createGrid; map(fn: (cell: TableCell) => T): T[][]; static fromTable(table: HTMLTableElement, options?: { disableColWidth?: boolean; }): TableCellGrid; static fromBlock(table: BlockElement): TableCellGrid; static fromData(editor: Editor, doc: EditorDoc, tableData: TableBlockData): TableCellGrid; static virtualCellContainersGridToChildren(virtualCellContainersGrid: string[][]): string[]; }