import { LayoutGroup, LayoutGroupOptions } from './base';
import { TableRow } from './TableRow';
import { Border } from './types';
import { EventUtil } from './utils/EventUtil';
import { TableCell } from './TableCell';
export interface TableOptions extends LayoutGroupOptions {
    colWidths?: number[];
}
export declare class Table extends LayoutGroup<TableRow> {
    type: 'table';
    component: "table";
    cellPadding: [number, number, number, number];
    colWidths?: number[];
    /** redistribute 完成事件 */
    redistributeEvent: EventUtil;
    /** 表格边框 */
    border?: Border;
    /** 表格背景色 */
    backgroundColor?: string;
    constructor(options: TableOptions);
    get width(): number;
    redistribute(): void;
    layout(x: number, y: number): void;
    updateCellOffsetInfo(): void;
    forEachCell(options: {
        startRowIdx: number;
        startColIdx: number;
        endRowIdx: number;
        endColIdx: number;
        callback: (cell: TableCell, rowIdx: number, colIdx: number) => void;
        filter?: (cell: TableCell) => boolean;
    }): void;
}
