import { default as React } from 'react'; type VirtualListVariant = 'plain' | 'divided' | 'card'; interface VirtualListProps { items: T[]; itemHeight?: number | ((index: number, item: T) => number); renderItem: (item: T, index: number) => React.ReactNode; keyExtractor?: (item: T, index: number) => React.Key; overscan?: number; height?: string | number; estimatedItemHeight?: number; variant?: VirtualListVariant; emptyState?: React.ReactNode; onEndReached?: () => void; endReachedThreshold?: number; className?: string; ariaLabel?: string; } interface VirtualListHandle { scrollToIndex: (index: number, options?: { behavior?: ScrollBehavior; align?: 'start' | 'center' | 'end'; }) => void; scrollToOffset: (offset: number, behavior?: ScrollBehavior) => void; getScrollOffset: () => number; } declare function VirtualListInner({ items, itemHeight, renderItem, keyExtractor, overscan, height, estimatedItemHeight, variant, emptyState, onEndReached, endReachedThreshold, className, ariaLabel, }: VirtualListProps, ref: React.Ref): React.JSX.Element; declare const VirtualList: (props: VirtualListProps & { ref?: React.Ref; }) => ReturnType; export { VirtualList }; export type { VirtualListProps, VirtualListHandle, VirtualListVariant };