import * as React from 'react'; import { GridPinnedRowsPosition } from '../rows/gridRowsInterfaces'; import type { GridRenderContext, GridColumnsRenderContext, GridRowEntry, GridRowId } from '../../../models'; export type VirtualScroller = ReturnType; export declare const EMPTY_DETAIL_PANELS: Readonly>; export declare const useGridVirtualScroller: () => { renderContext: GridRenderContext; setPanels: React.Dispatch>>>; getRows: (params?: { rows?: GridRowEntry[]; position?: GridPinnedRowsPosition; renderContext?: GridRenderContext; }) => React.ReactNode[]; getContainerProps: () => { ref: React.RefObject; }; getScrollerProps: () => { ref: React.RefObject; onScroll: (event: React.UIEvent) => void; onWheel: (event: React.WheelEvent) => void; onTouchMove: (event: React.TouchEvent) => void; style: React.CSSProperties; role: string; tabIndex: number | undefined; }; getContentProps: () => { style: React.CSSProperties; role: string; }; getRenderZoneProps: () => { role: string; }; getScrollbarVerticalProps: () => { ref: React.RefObject; role: string; }; getScrollbarHorizontalProps: () => { ref: React.RefObject; role: string; }; }; export declare function areRenderContextsEqual(context1: GridRenderContext, context2: GridRenderContext): boolean; export declare function computeOffsetLeft(columnPositions: number[], renderContext: GridColumnsRenderContext, pinnedLeftLength: number): number;