import { Column, SpanParams } from './types';
declare function generateShortUUID(): string;
declare function throttle<T extends (...args: any) => any>(func: T, delay: number | (() => number)): T;
/**
 * 根据children获取最大深度
 * @param data
 * @returns
 */
declare function getMaxRow(data?: Column[]): number;
declare function sortFixed(arr?: Column[]): Column[];
declare function calCrossSpan(arr?: Column[], maxRow?: number, level?: number, parentKey?: string): Column[];
declare function toLeaf(arr?: Column[]): Column[];
declare function filterHiddenColumns(columns: Column[]): Column[];
type DebouncedFunction<F extends (...args: any[]) => any> = (...args: Parameters<F>) => void;
declare function debounce<F extends (...args: any[]) => any>(func: F, delay: number): DebouncedFunction<F>;
/**
 * @decodeSpreadsheetStr
 * @desc Decode spreadsheet string into array.  refer from http://github.com/warpech/sheetclip/
 * @param {string} str The string to parse.
 * @returns {array}
 */
declare function decodeSpreadsheetStr(str: string): string[][];
/**
 * @decodeSpreadsheetStr
 * @desc encode array to spreadsheet string.  refer from http://github.com/warpech/sheetclip/
 * @param {array} str The string to parse.
 * @returns {string}
 */
declare function encodeToSpreadsheetStr(arr: string[][]): string;
declare function getSpanArrByRow(list: any, key: string, relationRowKeys?: string[]): number[];
declare function getSpanObjByColumn(row: any, columns: any): any;
declare function mergeRowCell(params: SpanParams, mergeRowkey: string, relationRowKeys?: string[]): {
    rowspan: number;
    colspan: number;
    relationRowKeys: string[];
    mergeRow: boolean;
};
declare function mergeColCell(params: SpanParams, mergeColKeys?: string[]): {
    rowspan: number;
    colspan: any;
    relationColKeys: string[];
    mergeCol: boolean;
} | undefined;
/**
 * 获取某个 CSS 变量的实际值
 * @param name 变量名（可以带或不带前缀，例如 "color-primary" 或 "--color-primary"）
 * @param el 可选元素，默认为 document.documentElement
 * @returns CSS 变量的计算值（如 "#1e90ff"）
 */
declare function getCssVar(name: string, el?: HTMLElement): string;
/**
 * 解析日期字符串，支持多种常见格式
 * @param dateStr 日期字符串
 * @returns Date 对象
 */
declare function parseDate(dateStr: any): Date;
/**
 * 比较两个日期值，支持多种常见格式
 * @param a 第一个日期值
 * @param b 第二个日期值
 * @returns 比较结果：-1 表示 a < b，0 表示 a = b，1 表示 a > b
 */
declare function compareDates(a: any, b: any): number;
export { debounce, throttle, generateShortUUID, toLeaf, sortFixed, calCrossSpan, getMaxRow, decodeSpreadsheetStr, encodeToSpreadsheetStr, mergeRowCell, mergeColCell, getSpanArrByRow, getSpanObjByColumn, getCssVar, parseDate, compareDates, filterHiddenColumns, };
