import { ComputedRef, Ref, ShallowRef } from 'vue'; import { MergeCellsCache } from './mergeCellsCache'; import { ColKeyGen, MergeCellsParam, PrivateRowDT, PrivateStkTableColumn, RowActiveOption, RowKeyGen, UniqKey } from './types'; import { VirtualScrollStore } from './useVirtualScroll'; /** Above-viewport cell descriptor: real column or placeholder colspan */ type AboveViewportCell = PrivateStkTableColumn | { __VT_PH__: number; }; export declare function useMergeCells(rowActiveProp: Ref>, tableHeaderLast: ShallowRef[]>, rowKeyGen: RowKeyGen, colKeyGen: ColKeyGen, virtual_dataSourcePart: ShallowRef, virtualScroll: Ref, /** 视口行渲染使用的列列表(virtual-x 时为可视列子集,否则即 tableHeaderLast) */ virtualX_columnPart: ComputedRef[]>, /** 全量数据(仅用于缓存失效判定) */ dataSourceCopy: ShallowRef, /** mergeCells 结果共享缓存(与 useVirtualScroll 共用,可跨滚动帧复用) */ mergeCellsCache: MergeCellsCache, /** 是否允许把连续空行合并为占位 tr(virtual && !autoRowHeight) */ canMergeEmptyRows: Ref, /** 视口下方合并为占位 tr 的行数(渲染 rowspan 属性修正用) */ belowViewportRowCount: Ref): readonly [Ref> | null, Record> | null>, (row: MergeCellsParam["row"], col: MergeCellsParam["col"], rowIndex: MergeCellsParam["rowIndex"], colIndex: MergeCellsParam["colIndex"]) => { colspan?: number; rowspan?: number; } | undefined, Ref & Omit, keyof Set>, Set | (Set & Omit, keyof Set>)>, (rowKey: UniqKey | undefined) => void, Ref & Omit, keyof Set>, Set | (Set & Omit, keyof Set>)>, (clear?: boolean, rowKey?: UniqKey) => void, ComputedRef>, ComputedRef<{ start: number; count: number; }[]>, ComputedRef<{ count: number; }[]>]; export {};