import * as React from "react"; import { type VirtualItem } from "@tanstack/react-virtual"; export type VirtualListRange = { startIndex: number; endIndex: number; visibleItems: VirtualItem[]; }; export type VirtualListRenderContext = { index: number; virtualItem: VirtualItem; }; export type VirtualListItemKey = string | number; export type VirtualListProps = Omit, "children"> & { items: TItem[]; renderItem: (item: TItem, context: VirtualListRenderContext) => React.ReactNode; getItemKey?: (item: TItem, index: number) => VirtualListItemKey; estimateSize?: number | ((index: number) => number); overscan?: number; height?: number | string; gap?: number; empty?: React.ReactNode; itemClassName?: string | ((item: TItem, context: VirtualListRenderContext) => string); onRangeChange?: (range: VirtualListRange) => void; scrollToIndex?: number; scrollToAlignment?: "auto" | "start" | "center" | "end"; }; declare function VirtualList({ items, renderItem, getItemKey, estimateSize, overscan, height, gap, empty, itemClassName, onRangeChange, scrollToIndex, scrollToAlignment, className, style, "aria-label": ariaLabel, ...props }: VirtualListProps): React.JSX.Element; export { VirtualList };