import { VirtualItem } from '@tanstack/react-virtual'; import { type TableDataSource } from '@mezzanine-ui/core/table'; export interface UseTableVirtualizationOptions { dataSource: T[]; enabled?: boolean; isContainerReady?: boolean; isRowExpanded?: (key: string) => boolean; overscan?: number; scrollContainerRef: React.RefObject; } export interface UseTableVirtualizationReturn { /** Bottom padding for the tbody to maintain scroll height */ paddingBottom: number; /** Top padding for the tbody to offset visible rows */ paddingTop: number; measureElement: (node: HTMLElement | null) => void; scrollToIndex: (index: number, options?: { align?: 'start' | 'center' | 'end'; }) => void; totalSize: number; virtualItems: VirtualItem[]; } export declare function useTableVirtualization({ dataSource, enabled, isContainerReady, isRowExpanded, overscan, scrollContainerRef, }: UseTableVirtualizationOptions): UseTableVirtualizationReturn | null;