import React from "react"; import { type VibeComponentProps } from "../../../types"; import { type ScrollDirection } from "react-window"; import { type TableColumn } from "../Table/Table"; export type TableVirtualizedRow = Record & { id: string; }; export interface TableVirtualizedBodyProps extends VibeComponentProps { /** * The list of items to render in the virtualized table. */ items: T[]; /** * Function to render a row in the table. */ rowRenderer: (item: T) => JSX.Element; /** * Callback function triggered on scroll. */ onScroll?: (horizontalScrollDirection: ScrollDirection, scrollTop: number, scrollUpdateWasRequested: boolean) => void; /** * The columns configuration for the table. */ columns?: TableColumn[]; /** * Function to render the table header. */ headerRenderer?: (columns: TableColumn[]) => JSX.Element; /** * Number of rows to render above/below the visible area. */ overscanCount?: number; } declare const TableVirtualizedBody: React.ForwardRefExoticComponent & React.RefAttributes>; export default TableVirtualizedBody;