import { DataRow, ColumnDef, SortDef } from '../types'; declare global { interface Number { localeCompare(x: number): number; } } interface GroupByItem { dataIndex: string; } interface ObjWrapper { setData(data: DataRow): ObjWrapper & DataRow; object: DataRow; raw: DataRow; } type GetTesseractFunction = (tableName: string) => any; interface GroupDataResultInternal extends DataRow { children: GroupDataResultInternal[]; leaf?: boolean; } declare let generateSummaryRow: (data: DataRow[], objWrapper: ObjWrapper, columns: ColumnDef[], groupedColumn: string, _branchValue: any, branchPath: string[], parent?: any) => DataRow; declare let getSimpleHeader: (allColumns: ColumnDef[], excludeHiddenColumns?: boolean) => any[]; declare let getHeader: (allColumns: ColumnDef[], excludeHiddenColumns?: boolean) => ColumnDef[]; declare let groupData: (columns: ColumnDef[], data: DataRow[], objWrapper: ObjWrapper, groupBy: GroupByItem[], includeLeafs?: boolean, groupIdPrefix?: string, branchPath?: string[], parent?: any, idProperty?: string) => GroupDataResultInternal[]; declare let groupSelectedData: (columns: ColumnDef[], data: DataRow[], objWrapper: ObjWrapper, groupBy: GroupByItem[], selectedRowsIds: { [key: string]: boolean; }, includeLeafs?: boolean, groupIdPrefix?: string, branchPath?: string[], parent?: any, idProperty?: string, filters?: any[]) => GroupDataResultInternal[]; declare let createSessionProxyConfig: (getTesseract: GetTesseractFunction, allColumns: ColumnDef[], selectedColumns?: ColumnDef[]) => any; declare let mergeColumns: (baseColumns: ColumnDef[], optionalColumns?: ColumnDef[]) => ColumnDef[]; declare function applyOrder(sort: SortDef[], data: DataRow[], defaultObjDef: any): DataRow[]; interface SmartDebounceFunction { (...args: any[]): void; flush(): void; cancel(): void; } declare function smartDebounce(debouncedFn?: (...args: any[]) => void, timeout?: number, leading?: boolean): SmartDebounceFunction; declare function guid(): string; export { generateSummaryRow, getSimpleHeader, getHeader, groupData, groupSelectedData, applyOrder, createSessionProxyConfig, mergeColumns, smartDebounce, guid };