import { Column, SpanParams } from './types';
declare function generateShortUUID(): string;
declare function throttle<T extends (...args: any) => any>(func: T, delay: 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): Column[];
declare function toLeaf(arr?: 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;
export { debounce, throttle, generateShortUUID, toLeaf, sortFixed, calCrossSpan, getMaxRow, decodeSpreadsheetStr, encodeToSpreadsheetStr, mergeRowCell, mergeColCell, getSpanArrByRow, getSpanObjByColumn, };
