import { ValueType } from "./common"; import { Column } from "./model"; import { DataCollector, RowData } from "./dataControl"; export declare abstract class Cell { private _domElement; private _division; private _isEditBoxCreated; constructor(rowDOMElement: HTMLElement); private _createDivDOMElement; abstract createDOMElement(): HTMLElement; private _appendParentNode; removeParentNode(): void; readonly domElement: HTMLElement | null; readonly divDOMElement: HTMLElement | null; readonly width: string | null; isEditBoxCreated: boolean; setValue(value: ValueType): void; setStyle(col: Column): void; assignStyle(prop: string, value: ValueType): void; setDivVisible(visibility: boolean): void; } export declare class HeaderCell extends Cell { createDOMElement(): HTMLElement; } export declare class BodyCell extends Cell { createDOMElement(): HTMLElement; } declare abstract class Row { private _cells; private _domElement; constructor(upperElement: HTMLElement); protected createDOMElement(): void; abstract appendParentNode(upperElement: HTMLElement): void; getCell(fieldName: string): Cell; readonly domElement: HTMLElement | null; setCells(rowData: RowData, columns: Array): void; addCells(rowData: RowData, columns: Array): void; addCell(fieldName: string, value: ValueType, col: Column): void; abstract createCell(): Cell; removeCell(fieldName: string): void; removeAllCell(): void; updateCell(fieldName: string, value: string | number | boolean): void; setStyle(fieldName: string, col: Column): void; assignStyle(fieldName: string, prop: string, value: string | number | boolean): void; } export declare class HeaderRow extends Row { private _tableHeaderDOMElement; protected createDOMElement(): void; appendParentNode(tableDOMElement: HTMLElement): void; createCell(): HeaderCell; } export declare class BodyRow extends Row { appendParentNode(rowsDOMElement: HTMLElement): void; createCell(): BodyCell; } export declare class BodyRows { private _rows; private _domElement; constructor(tableDOMElement: HTMLElement); getCell(rowIdx: number, fieldName: string): Cell; readonly domElement: HTMLElement; readonly rowCount: number; setRows(dataCollector: DataCollector, cols: Array): void; addRow(row: RowData, cols: Array): void; addRows(dataCollector: DataCollector, columns: Array, preRowsNum: number, addedCount: number): void; removeRow(rowIdx: number): void; removeRows(indexes: Array): void; removeAllRow(): void; removeCellsByColumn(fieldName: string): void; buildColumnCell(fieldName: string, col: Column, data: DataCollector): void; updateCell(rowIndex: number, fieldName: string, value: ValueType): void; setStyle(fieldName: string, col: Column): void; assignStyle(fieldName: string, prop: string, value: ValueType): void; } export {};