import { IAnyObject } from '@d-render/shared';
import type { ITreeProps } from './table-props';
export declare const analyseData: (list: IAnyObject[] | undefined, treeProps: ITreeProps, count?: number, parentPath?: Array<number>) => Record<number, number[]>;
export declare const getPropertyKeyByPath: (path: number[], treeProps: {
    children: string;
}) => string;
export declare const calculateCurrentWidth: (size: "default" | "small" | "large" | undefined, standardSize: "default" | "small" | "large" | undefined, width: number) => number;
/**
 * 获取展开childrenKey后的数组，childrenKey的内的key重新为 `${childrenKey}_${key}`
 * @param data 原数组
 * @param childrenKey 待展开的子数组的key
 * @returns {*}
 */
export declare const getExpendData: <T extends Record<string, unknown>, U extends keyof T>(data: T[], childrenKey: U) => (T & {
    _columns?: number | undefined;
})[];
interface ITableCell<T> {
    row: T & {
        _columns?: number;
    };
    column: IAnyObject;
    rowIndex: number;
    columnIndex: number;
}
/**
 * 生成一个合并column的函数
 * @param excludeFn {Function} 排除判断
 * @returns {(function({row: *, column: *, rowIndex: *, columnIndex: *}): ([number|*,number]|undefined))|*}
 */
export declare const generateSpanMethod: <T>(excludeFn: (cell: ITableCell<T>) => boolean) => ({ row, column, rowIndex, columnIndex }: ITableCell<T>) => (number | undefined)[] | undefined;
export { collectFilterableColumns, tableFilteredValuesToModel, modelToTableFilteredValues, mergeTableFilterModel, type TTableFilterModel, type TTableFilteredValues, type ITableFilterColumnMeta } from './filter-util';
export { resolveRowKeyGetter, createRowMatcher, flattenTreeRows, type TRowKeyGetter, type TRowMatcher } from './selection-util';
