import React from 'react'; import type { ColumnShape, RowData } from './types'; export declare function renderElement(renderer: React.ReactElement | React.ComponentType | null | undefined, props?: Record): React.ReactNode; export declare function normalizeColumns(elements: React.ReactNode): ColumnShape[]; export declare function isObjectEqual(objA: any, objB: any, ignoreFunction?: boolean): boolean; export declare function callOrReturn(funcOrValue: T | ((...args: any[]) => T), ...args: any[]): T; export declare function hasChildren(data: RowData): boolean; export declare function unflatten(array: RowData[], rootId?: any, dataKey?: string, parentKey?: string): RowData[]; export declare function flattenOnKeys(tree: RowData[], keys: any[], depthMap?: Record, dataKey?: string): RowData[]; export declare function cloneArray(array: T[]): T[]; export declare function noop(): void; export declare function toString(value: any): string; export declare function getValue(object: any, path: string, defaultValue?: any): any; export declare const debounce: (fn: (...args: any[]) => void, ms?: number) => (this: any, ...args: any[]) => void; export declare const throttle: (fn: (...args: any[]) => void, wait: number) => (this: any) => void; export declare function getScrollbarSize(recalculate?: boolean): number; export declare function addClassName(el: HTMLElement, className: string): void; export declare function removeClassName(el: HTMLElement, className: string): void; export declare function getEstimatedTotalRowsHeight(data: RowData[], estimatedRowHeight: number | ((args: { rowData: RowData; rowIndex: number; }) => number)): number;