import { type JSX } from 'react'; import { StylingProps } from '../../../core/types/styling-props.js'; import type { Cell } from '../hooks/useTable/types.js'; interface DataTableCellProps extends StylingProps { cell: Cell; /** * Column index in order to map it to the cells data attributes for identification. */ virtualColumnIndex: number; /** * Row index in order to map it to the cells data attributes for identification. */ virtualRowIndex: number; /** * Indicates whether the rendered cell is inside the drag overlay. */ isInDragOverlay?: boolean; /** * Indicates whether the floating menu for the rendered cell is currently open. */ hasActiveFloatingMenu?: boolean; /** * This function measures column sizes and is triggered when the cell is rendered in the DOM. */ columnMeasure?: (element: Element | null) => void; /** * Node ref for row order drag and drop. */ dragAndDropRef?: (element: HTMLElement | null) => void; /** * Indicates the nesting level of the row. Top level parent rows have depth 0. */ subRowDepth: number; /** * Threshold pill color displayed in the first cell in a row. * Needs to be a valid css color definition. */ thresholdPill: string | null; /** * Data for this row. Necessary for memoization to work correctly. * If the data changes, the cell should re-render. */ rowData?: TData; /** * Stringified cell dependencies that act as a memo invalidation for the memoized * component. If something on the table state changes that does not affect the * `cell` prop passed here, it can be added to the cellDeps `columnDef.meta` field * in order to use it as cache control. */ cellDeps?: string; } export declare function DataTableCell(props: Readonly>): JSX.Element | null; export {};