import { ReactNode } from 'react'; export type VirtualizedGridProps = { /** Items to virtualize */ items: T[]; /** Number of columns in the grid */ columns: number; /** * The scroll container element. Pass `null` while the element is still * mounting; the grid will render nothing until it is available. Use a * callback ref + state in the parent to capture the element, since * `useRef` does not trigger re-renders when `.current` changes — which * matters when the container is rendered inside a Base UI Tabs.Panel * that defers mounting. */ scrollElement: HTMLElement | null; /** Render function for each item */ renderItem: (item: T, index: number) => ReactNode; /** Estimated height of each row (in px) */ estimateRowSize: number; /** Get unique key for each item */ getItemKey: (item: T) => string; /** Extra rows above/below viewport for smoother scrolling */ overscan?: number; /** Gap between rows (in px) */ rowGapPx?: number; /** Tailwind classes for the grid row container */ gridClassName?: string; }; export declare function VirtualizedGrid(props: VirtualizedGridProps): import("react").JSX.Element | null; //# sourceMappingURL=virtualized-grid.d.ts.map