import { Row } from '@tanstack/react-table';
import { CSSProperties } from 'react';
import { AnyColumn, ScrollShadowState } from './type';
/**
* 展开面板 row 的 DOM id 协议
*
* `DataTable` 渲染面板 row 时把这个 id 设到 `
` 上,
* `RowExpandToggle` 把它写进按钮的 `aria-controls`,二者必须保持一致
*/
export declare const panelIdFor: (rowId: string) => string;
/**
* 计算固定列(sticky)需要的样式
*/
export declare function getCommonPinningStyles(column: AnyColumn): CSSProperties;
/**
* 计算固定列阴影 className
*/
export declare function getColumnPinningClassName(column: AnyColumn, scrollShadow: ScrollShadowState): string;
/** 单元格合并跨度 */
export type CellSpan = {
rowSpan: number;
colSpan: number;
};
/** 内部存储:每行每列对应的跨度 */
export type CellSpanMap = Map>;
/**
* 根据每列 `meta.rowSpan` / `meta.colSpan` 计算每行每列的合并跨度
*
* `0` 表示该单元格不应渲染(被合并掉了)
*/
export declare function computeCellSpans(rows: Row[], columns: AnyColumn[]): CellSpanMap;