import { PptxTableData } from 'pptx-viewer-core';
import { DiagonalBorderInfo, TableStyleContext } from 'pptx-viewer-shared';
/** One rendered rich-text run (or break marker) inside a cell. */
export interface TableRunView {
key: string;
isParagraphBreak: boolean;
isLineBreak: boolean;
text: string;
/** Inline `style` string for the run ``. */
style: string;
}
/** One rendered `
`. */
export interface TableCellView {
key: string;
rowIndex: number;
cellIndex: number;
/** `undefined` when the cell spans a single column/row (attr omitted). */
colSpan: number | undefined;
rowSpan: number | undefined;
/** Full inline `style` string (base + band + explicit cell style). */
style: string;
diagonals: DiagonalBorderInfo | null;
/** Rich per-run content, or `null` to fall back to {@link text}. */
runs: TableRunView[] | null;
/** Plain cell text fallback (space-padded so empty cells keep height). */
text: string;
}
/** One rendered ` | `. */
export interface TableRowView {
key: string;
/** Inline `style` string carrying the row height, when one is set. */
style: string | undefined;
cells: TableCellView[];
}
/**
* Inline `style` for the `` element itself: the shared default font
* stack (load-bearing, see the other bindings) plus `a:tblPr@rtl`, which
* mirrors the column order for right-to-left decks.
*/
export declare function tableRootStyle(tableData: PptxTableData | undefined): string;
/** Proportional `` width strings for the table's ``. */
export declare function columnWidthStyles(tableData: PptxTableData): string[];
/** Project `PptxTableData` into renderable row/cell view models. */
export declare function buildTableRows(tableData: PptxTableData, context?: TableStyleContext): TableRowView[];
//# sourceMappingURL=table-view.d.ts.map