export interface RegionCell { row: number; col: number; } export interface RegionResult { ok: boolean; count?: number; rows?: number; cols?: number; crossRow?: boolean; notContiguous?: boolean; notRectangular?: boolean; } /** * 框选合并单元格:把选中区域(含所有与之相交的既有合并区域,Excel 行为—— * 部分选中的合并单元格会整体并入)合并为一个单元格。要求选中区域本身构成 * 完整矩形(一次拖拽天然满足;Ctrl 多次拖拽需恰好拼接成矩形),否则返回 * notRectangular 由调用方提示重新框选。 * 原点(左上角)设置 rowspan/colspan 为区域高宽,其余格子 cellVisible=false, * 与现有 mergeRightCol/mergeWholeCol/mergeWholeRow 的数据语义一致。 */ export declare const mergeRegionByCells: (elements: Array, cells: Array) => RegionResult; /** * 框选拆分单元格:把与选中区域相交的所有合并单元格还原为 1x1 * (区域内全部 cellVisible=true、rowspan/colspan=1,与现有 resetMerge 语义一致)。 */ export declare const splitRegionByCells: (elements: Array, cells: Array) => { ok: boolean; count: number; }; /** * 框选删除区域内组件:清空选中格子占位矩形内所有格子(含被合并隐藏的格子)的 * column.items,返回删除的组件总数与被删组件 id 列表(供调用方清理选中态)。 */ export declare const clearRegionItems: (elements: Array, cells: Array) => { ok: boolean; count: number; removedIds: Array; }; /** * box 容器框选合并单元格:box 无 rowspan,仅支持同一行内连续列合并。 * 语义与现有 mergeLeftCol(box)/mergeWholeRow 一致——首列 colspan 累加其余列的 * colspan,其余列从 columns 中 splice 移除(box 合并即销毁列,拆分时等分还原)。 */ export declare const mergeBoxRegionByCells: (elements: Array, cells: Array) => RegionResult; /** * box 容器框选拆分单元格:colspan>1 的格子还原为 colspan 个 colspan=1 的列 * (与 undoMergeCol(box) 的插列还原方向一致;box 合并时原列已销毁,等分还原)。 * 同行多个待拆分格按列索引降序处理,避免插列影响右侧索引。 */ export declare const splitBoxRegionByCells: (elements: Array, cells: Array) => RegionResult;