import { n as PlacedLiveCell, t as LiveTableGrid } from "../../table-grid-Xbaddzz3.cjs"; import { i as OdtTableCell } from "../../table-BK_Ao-Y6.cjs"; import { Package, XmlElement, XmlNode } from "odf.js"; //#region src/edit/odt/table-grid.d.ts declare function gridColumnElements(row: XmlElement): { readonly columnIndex: number; readonly element: XmlElement; }[]; declare function rowGridColumnCount(row: XmlElement): number; declare function locateGridColumnElement(row: XmlElement, columnIndex: number): XmlElement | undefined; declare function individuateGridColumn(row: XmlElement, columnIndex: number): XmlElement; declare function tableRowElements(table: XmlElement): XmlElement[]; declare function placedCells(row: XmlElement, pkg: Package): PlacedLiveCell[]; declare function resolveOdtGrid(table: XmlElement, pkg: Package): LiveTableGrid; interface GridRegion { readonly row: number; readonly column: number; readonly rowSpan: number; readonly columnSpan: number; } declare function regionCovers(region: GridRegion, rowIndex: number, columnIndex: number): boolean; declare function regionsIntersect(a: GridRegion, b: GridRegion): boolean; declare function regionContains(outer: GridRegion, inner: GridRegion): boolean; declare function anchorRegions(grid: LiveTableGrid): GridRegion[]; declare function isUnchangedAnchor(region: GridRegion, target: GridRegion): boolean; declare function describeRegionAnchor(region: GridRegion): string; interface GridPosition { readonly row: XmlElement; readonly column: number; } interface MergeAllowed { readonly anchor: GridPosition; readonly consumed: readonly GridPosition[]; readonly refusal?: never; } interface MergeRefused { readonly refusal: { readonly rowIndex: number; readonly reason: string; }; readonly anchor?: never; readonly consumed?: never; } type MergePlan = MergeAllowed | MergeRefused; declare function refuseMerge(rowIndex: number, reason: string): MergeRefused; declare function planMerge(table: XmlElement, pkg: Package, target: GridRegion, rows: readonly [XmlElement, ...XmlElement[]]): MergePlan; declare function applyMerge(plan: MergeAllowed, target: GridRegion, pkg: Package): OdtTableCell; declare function currentRowPropertiesElement(pkg: Package, rowElement: XmlElement): XmlElement | undefined; declare function cloneCurrentRowProperties(pkg: Package, rowElement: XmlElement): XmlElement; declare function xmlNodesEqual(a: XmlNode, b: XmlNode): boolean; declare function xmlElementsEqual(a: XmlElement, b: XmlElement): boolean; declare function internTableRowProperties(pkg: Package, properties: XmlElement): string; //#endregion export { GridPosition, GridRegion, MergeAllowed, MergePlan, MergeRefused, anchorRegions, applyMerge, cloneCurrentRowProperties, currentRowPropertiesElement, describeRegionAnchor, gridColumnElements, individuateGridColumn, internTableRowProperties, isUnchangedAnchor, locateGridColumnElement, placedCells, planMerge, refuseMerge, regionContains, regionCovers, regionsIntersect, resolveOdtGrid, rowGridColumnCount, tableRowElements, xmlElementsEqual, xmlNodesEqual };