import React, { FC, Key, ReactNode } from 'react'; import { Column, Row } from '../../../types'; import { Box } from '../../Box/Box'; export interface TableBodyProps { /** * The table columns to be rendered */ columns: Column[]; /** * The unique key to identify a React node for each row. */ rowKey: Key; /** * The table rows to be rendered */ rows: Row[]; /** * Text alignment for all table cells. Can be superseded by passing the same prop into the `Column` object * for a specific column. */ align?: 'left' | 'right' | 'center'; /** * A custom class to apply to the table body. */ className?: string; /** * A global placeholder for empty cells. Note: can be overwriten by * the same attribute passed for an individual column config object. */ emptyCellPlaceholder?: string | number | undefined; /** * Enable a hover state on table rows. */ hoverableRows?: boolean; /** * Whether the table has borders or not. */ isBorderless?: boolean; /** * Whether the table rows have smaller padding */ isCompact?: boolean; /** * Whether the table rows have a striped pattern */ isStriped?: boolean; /** * Truncate overflow inside column based on column width. Can be overwritten on specific columns, * by passing `truncateOverflow` value on a specific Column */ truncateOverflow?: boolean; expandedRowRender?: (row: Row, rowIndex: number) => ReactNode; /** * Currently expanded row key */ expandedRow?: React.Key; /** * Callback when row expand state changes */ onExpandedRowChange?: (rowId: React.Key | undefined) => void; expandLabels?: { expand: string; collapse: string; }; expandColumn?: Column; expandBoxProps?: Partial>; } export declare const TableBody: FC;