import { ComputeItemKey, FollowOutput } from "react-virtuoso"; export interface VirtualListProps extends React.DetailedHTMLProps, HTMLDivElement> { data: T; /** @param {number} containerHeight * @description * default: 200 */ containerHeight?: number; containerWidth?: string | number; /** @param {number} onLoadMore * @description * This method will be called when users scroll to the end of the list */ startReached?: () => void; endReached?: () => void; itemContent: (index?: number, record?: T) => React.ReactNode; header?: React.ReactNode; footer?: React.ReactNode; totalItems: number; atBottomStateChange?: (isAtBottom: boolean) => void; followOutput?: FollowOutput; computeItemKey?: ComputeItemKey | undefined; overscan?: number | { main: number; reverse: number; } | undefined; increaseViewportBy?: number | { top: number; bottom: number; } | undefined; totalListHeightChanged?: ((height: number) => void) | undefined; } export interface VirtualListRef { scrollToIndex: (index: number) => void; }