import { CommonWrapper, CommonWrapperClass, CommonWrapperConstructor } from '../Wrapper.js'; import { CommonWrapperFactory } from '../WrapperFactory.js'; import { CharOptions, VariantData, DelimiterData, FontData, FontDataClass } from '../FontData.js'; import { CommonOutputJax } from '../../common.js'; import { CommonMtr } from './mtr.js'; export type TableData = { H: number[]; D: number[]; W: number[]; NH: number[]; ND: number[]; L: number; }; export type ColumnWidths = (string | number | null)[]; export declare const BREAK_BELOW = 0.333; export interface CommonMtable, WW extends CommonWrapper, WF extends CommonWrapperFactory, WC extends CommonWrapperClass, CC extends CharOptions, VV extends VariantData, DD extends DelimiterData, FD extends FontData, FC extends FontDataClass, R extends CommonMtr> extends CommonWrapper { numCols: number; numRows: number; hasLabels: boolean; isTop: boolean; container: WW; containerI: number; frame: boolean; fframe: boolean; fLine: number; fSpace: number[]; cSpace: number[]; rSpace: number[]; cLines: number[]; rLines: number[]; cWidths: (number | string)[]; data: TableData; pwidthCells: [WW, number][]; pWidth: number; readonly tableRows: R[]; findContainer(): void; getPercentageWidth(): void; stretchRows(): void; stretchColumns(): void; stretchColumn(i: number, W: number): void; breakColumn(i: number, W: number, type: string): void; getTableData(): TableData; updateHDW(cell: WW, i: number, j: number, align: string, H: number[], D: number[], W: number[], M: number): void; recordPWidthCell(cell: WW, i: number): void; setColumnPWidths(): void; getBBoxHD(height: number): number[]; getBBoxLR(): number[]; getPadAlignShift(side: string): [number, string, number]; getWidth(): number; adjustWideTable(): void; naturalWidth(): number; getEqualRowHeight(): number; getComputedWidths(): number[]; getColumnWidths(): ColumnWidths; getEqualColumns(width: string): ColumnWidths; getColumnWidthsAuto(swidths: string[]): ColumnWidths; getColumnWidthsPercent(swidths: string[]): ColumnWidths; getColumnWidthsFixed(swidths: string[], width: number): ColumnWidths; adjustColumnWidths(width: number): void; getVerticalPosition(i: number, align: string): number; getFrameSpacing(): number[]; getEmHalfSpacing(fspace: number[], space: number[], scale?: number): string[]; getRowHalfSpacing(): number[]; getColumnHalfSpacing(): number[]; getAlignmentRow(): [string, number | null]; getColumnAttributes(name: string, i?: number): string[]; getRowAttributes(name: string, i?: number): string[]; getAttributeArray(name: string): string[]; addEm(list: number[], n?: number): string[]; convertLengths(list: string[]): number[]; } export interface CommonMtableClass, WW extends CommonWrapper, WF extends CommonWrapperFactory, WC extends CommonWrapperClass, CC extends CharOptions, VV extends VariantData, DD extends DelimiterData, FD extends FontData, FC extends FontDataClass> extends CommonWrapperClass { } export declare function CommonMtableMixin, WW extends CommonWrapper, WF extends CommonWrapperFactory, WC extends CommonWrapperClass, CC extends CharOptions, VV extends VariantData, DD extends DelimiterData, FD extends FontData, FC extends FontDataClass, R extends CommonMtr, B extends CommonWrapperClass>(Base: CommonWrapperConstructor): B;