import { Paragraph } from './Paragraph';
import { LayoutGroup, LayoutGroupOptions } from './base';
import { IContainerMetrics, Border } from './types';
import { Table } from './Table';
import { TableRow } from './TableRow';
import { RepeatingWidgetMeta, BoundedWidgetMeta, CheckTableWidgetMeta, _2DTableWidgetMeta } from '../model/logic';
import { LinkSubTableCellZone } from '../layout/linkSubTableLayout';
export interface TableCellOptions extends LayoutGroupOptions {
    colspan?: number;
    rowspan?: number;
    mergeFromId?: string;
    mergeRefRowOffset?: number;
    mergeRefColOffset?: number;
    backgroundColor?: string;
    subRenderer?: SubRenderer;
}
export type SubRenderer = {
    id: string;
    type: 'dynamic-table' | '2d-table' | 'fixed-table' | 'check-table' | 'table-header';
    dataIndex?: number;
    valuePath: string;
    widgetMeta?: RepeatingWidgetMeta | BoundedWidgetMeta | CheckTableWidgetMeta | _2DTableWidgetMeta;
    xDataIndex?: number;
    yDataIndex?: number;
    /** 用来标记二维表的子类型 交叉 / 横向 / 纵向 */
    cellZone?: LinkSubTableCellZone;
};
export declare class TableCell extends LayoutGroup<Paragraph> implements IContainerMetrics {
    component: "tableCell";
    colspan: number;
    rowspan: number;
    mergeFromId?: string;
    mergeRefRowOffset?: number;
    mergeRefColOffset?: number;
    backgroundColor?: string;
    border?: Border;
    /** 设计渲染时 */
    subRenderer?: SubRenderer;
    parent: TableRow;
    skipSplitMeasure: boolean;
    get table(): Table;
    get padding(): [number, number, number, number];
    constructor(options: TableCellOptions);
    get width(): number;
    get height(): number;
    get contentMaxWidth(): number;
    get contentMaxHeight(): number;
    /** 是否是被合并单元格 */
    get isMergeSlave(): boolean;
    getContentHeight(): number;
    getMinHeight(): number;
    getRemainingSize(fixedHeight?: boolean): number;
    layout(x: number, y: number): void;
}
