import type { ScrollToOptions, VirtualItem } from '@tanstack/react-virtual'; import { type JSX } from 'react'; import { StylingProps } from '../../../core/types/styling-props.js'; import type { Row } from '../hooks/useTable/types.js'; interface DataTableRowProps extends StylingProps { /** * DataTable row object. */ row: Row; /** * The virtual item in the row virtualizer. */ virtualRow: VirtualItem; /** * The index of the row in the virtual items array, representing the currently rendered rows. */ virtualItemIndex: number; /** * Total number of rows currently rendered in the table. */ rowCount: number; /** * The virtual items in the column virtualizer. */ virtualColumns: VirtualItem[]; /** * Whether the row is currently being reordered via drag and drop. * The dragged row is the original row that is rendered in the table. */ isDraggedRow: boolean; /** * Whether the row is currently in the drag overlay. * The row that is in the overlay is a copy of the row being dragged. */ isInDragOverlay: boolean; /** * Parity of the row to keep track of the zebra stripe patterns. */ rowParity?: 'even' | 'odd'; /** * Measure function for row sizing that is called when the row is rendered to the dom. */ rowMeasure?: (node: Element | null) => void; /** * Measure function for column sizing that is called when the column cells are rendered to the dom. */ columnMeasure?: (node: Element | null) => void; /** * rowVirtualizer function for scrolling to the row with the specified index. */ scrollToIndex?: (index: number, options?: ScrollToOptions) => void; } /** * Wrapper around all cells in a row. * @internal */ export declare function DataTableRow(props: Readonly>): JSX.Element; export {};