import * as React from 'react'; import { GridRowId, GridRowModel } from '../models/gridRows'; import { GridPinnedColumns } from '../hooks/features/columns'; import type { GridStateColDef } from '../models/colDef/gridColDef'; import type { GridRenderContext } from '../models/params/gridScrollParams'; import type { GridDimensions } from '../hooks/features/dimensions'; export interface GridRowProps extends React.HTMLAttributes { row: GridRowModel; rowId: GridRowId; selected: boolean; /** * Index of the row in the whole sorted and filtered dataset. * If some rows above have expanded children, this index also take those children into account. */ index: number; rowHeight: number | 'auto'; offsetTop: number | undefined; offsetLeft: number; dimensions: GridDimensions; renderContext: GridRenderContext; visibleColumns: GridStateColDef[]; pinnedColumns: GridPinnedColumns; /** * Determines which cell has focus. * If `null`, no cell in this row has focus. */ focusedColumnIndex: number | undefined; /** * Determines which cell should be tabbable by having tabIndex=0. * If `null`, no cell in this row is in the tab sequence. */ tabbableCell: string | null; isFirstVisible: boolean; isLastVisible: boolean; isNotVisible: boolean; showBottomBorder: boolean; onClick?: React.MouseEventHandler; onDoubleClick?: React.MouseEventHandler; onMouseEnter?: React.MouseEventHandler; onMouseLeave?: React.MouseEventHandler; [x: string]: any; } declare const MemoizedGridRow: React.ForwardRefExoticComponent & React.RefAttributes>; export { MemoizedGridRow as GridRow };