import { BlockModel, ITableBlockSettings } from '../../models/index'; export declare function toDomCol(dataCol: number, rowNumberEnabled: boolean): number; export declare function toDomRow(dataRow: number, headerEnabled: boolean): number; export declare function toModelRow(domRow: number, headerEnabled: boolean): number; export declare function getDataCell(tableElement: HTMLTableElement, row: number, col: number): HTMLTableCellElement; export declare function getHeaderCell(tableElement: HTMLTableElement, col: number): HTMLTableCellElement; export declare function doesHtmlHasTable(html: string, text?: string): boolean; export declare function getTableElements(blockId: string, rootEditorElement: HTMLElement, blocks: BlockModel[]): { table: HTMLTableElement; props: ITableBlockSettings; } | null; /** * Focuses all editable cells in the table. * Useful for "Select All" (Ctrl+A) inside a table. * * @param {HTMLElement} tableEl - The element inside the table block * @returns {void} * * @hidden */ export declare function focusAllCellsInTable(tableEl: HTMLTableElement): void; /** * Removes the focus highlight from all cells in the given table. * * @param {Element} table - The table element * @returns {void} * * @hidden */ export declare function removeFocusFromAllCells(table: Element): void; /** * Returns the current width mode ('px' | 'percent') * * @param {HTMLTableElement} table - The table element * @returns {string} - width mode ('px' | 'percent') * * @hidden */ export declare function getWidthMode(table: HTMLTableElement): 'px' | 'percent'; /** * Sets the table width mode ('px' | 'percent') * * @param {HTMLTableElement} table - The table element * @param {string} mode - mode ('px' | 'percent') * @returns {void} * * @hidden */ export declare function setTableWidthMode(table: HTMLTableElement, mode: 'px' | 'percent'): void; /** * Performs equal percentage distribution for all cols * * @param {HTMLTableElement} table - The table element * @param {ITableBlockSettings} props - The table settings * @returns {void} * * @hidden */ export declare function applyEqualPercent(table: HTMLTableElement, props: ITableBlockSettings): void; /** * Checks whether equal percent fits within the container * * @param {number} containerWidthPx - The table container width * @param {number} nCols - Total number of cols * @param {number} minColPx - The minimum value of a column * @returns {boolean} - The boolean value * * @hidden */ export declare function projectEqualPercentFits(containerWidthPx: number, nCols: number, minColPx: number): boolean; /** * Changes width of all columns from percent to pixel units * * @param {HTMLTableElement} table - The table element * @param {ITableBlockSettings} props - The table settings * @param {object} defaultPxForNew - Default values of new col * @returns {void} * * @hidden */ export declare function changeColWidthToPxUnits(table: HTMLTableElement, props: ITableBlockSettings, defaultPxForNew?: { index: number; width: number; }): void; export declare function getColgroupChildren(table: HTMLTableElement): HTMLTableColElement[]; export declare function getSelectedCells(tableBlock: HTMLElement): NodeListOf; export declare function hasActiveTableSelection(tableBlockElement: HTMLElement): boolean;