import React from 'react'; export declare type CellRendererArgs = { cellData: any; columnData: ColumnData; columnIndex: number; dataKey: string; rowData?: any; rowIndex: number; }; export declare type HeaderRendererArgs = { columnData?: any; dataKey: string; label: any; }; export declare type OnRowsRenderedArgs = { startIndex: number; overscanStartIndex: number; overscanStopIndex: number; stopIndex: number; }; export declare type RowGetterArgs = { index: number; }; export declare type RowGetter = (arg: RowGetterArgs) => any; export declare type ColumnAndGroup = React.ReactFragment | React.ReactNode; export declare type DataTableProps = { columns: React.ReactNode; frozenColumns: React.ReactNode; groupHeaderHeight: number; headerHeight: number; height: number; initialTopRowIndex: number; onRowsRendered: (arg: OnRowsRenderedArgs) => void; rowCount: number; rowGetter: RowGetter; rowHeight: number; rowRenderer: React.FC; scrollToIndex: number | null; width: number; getRowKey: GetRowKey; }; export declare type GetRowKey = (args: { renderIndex: number; topRowIndex: number; }) => number; export declare type DataTableState = { tableScrollHeight: number; tableScrollWidth: number; topRowIndex: number; leftColumnIndex: number; totalVisibleRows: number; frozenColumnsWidth: number; }; export declare type RowProps = { rowIndex: number; children: React.ReactNode; }; export declare type RowChildrenProps = { rowIndex: number; rowData: any; columns: ColumnProps[]; columnIndexOffset?: number; }; export declare type CellRenderer = React.FC> | undefined; export declare type ColumnProps = { cellRenderer?: CellRenderer; headerRenderer?: (arg: HeaderRendererArgs) => React.ReactNode; width: number; columnData?: any; dataKey: string; label: any; };