import { type ChangeEvent, type ReactNode } from 'react'; import { type Variant } from '../enums'; import type { CellValue, DataGridColumns, DataGridRowOptions } from '../types'; export type RowProps> = { /** * Название класса, применяется к корневому компоненту */ className?: string; /** * Поле, которое будет использоваться в качестве ключа */ keyId: keyof TData; /** * Данные строки для отображения */ row: TData; /** * Конфигурация колонок для таблицы */ columns: DataGridColumns[]; /** * Вариант отображения вложенных элементов */ variant: `${Variant}`; /** * Конфигурация ширины колонок */ gridColumns: string; /** * Уровень вложенности в дереве */ level: number; /** * Вложенные элементы */ nestedChildren: Array; }>; /** * Идентификатор активного элемента массива rows. Выделяет активную строку в таблице */ activeRowId?: string; /** * Если true, то дерево будет раскрыто по умолчанию */ isInitialExpanded: boolean; /** * Уровень раскрытия дерева по умолчанию, при isInitialExpanded=true */ expandedLevel: number; /** * Количество отображаемых по умолчанию дочерних элементов */ initialVisibleChildrenCount: number; /** * Номер колонки, в которой будет расположена кнопка "Показать все" * Работает только для `variant="subrows"` */ moreButtonColumnPosition: number; /** * Если false, кнопка разворачивания элементов не показывается * Работает только для `variant="subrows"` */ isVisibleCollapseButton: boolean; /** * Если true, то будет отображаться чекбокс для выбора элемента */ isSelectable?: boolean; /** * Массив выбранных строк */ selectedRows?: TData[]; /** * Заглушка для пустых ячеек (если отсутствует field и filter и renderCell) * @default '-' */ emptyCellValue?: ReactNode; /** * Дополнительные настройки строки */ options?: DataGridRowOptions; /** * Обработчик выбора строки */ onSelectRow: (row: TData) => (event: ChangeEvent) => void; /** * Обработчик клика строки таблицы */ onRowClick?: (row: TData) => void; }; export declare const Row: >(props: RowProps) => JSX.Element;