import { DropTargetDelegate, Node } from '@react-types/shared'; import { Layout } from 'react-stately/useVirtualizerState'; import { JSX, ReactNode } from 'react'; export interface LayoutOptionsDelegate { useLayoutOptions?(): O; } interface ILayout extends Layout, O>, Partial, LayoutOptionsDelegate { } interface LayoutClass { new (): ILayout; } export interface VirtualizerProps { /** The child collection to virtualize (e.g. ListBox, GridList, or Table). */ children: ReactNode; /** The layout object that determines the position and size of the visible elements. */ layout: LayoutClass | ILayout; /** Options for the layout. */ layoutOptions?: O; } /** * A Virtualizer renders a scrollable collection of data using customizable layouts. * It supports very large collections by only rendering visible items to the DOM, reusing * them as the user scrolls. */ export declare function Virtualizer(props: VirtualizerProps): JSX.Element; export {};