import React, { ReactNode } from 'react';
import { Identifiable } from '@custis/common';
import { Table } from '@tanstack/react-table';
import { DragEndEvent } from '@dnd-kit/core';
import { NewGridStore } from '../../NewGridStore';
import { GridIconsProps } from '../../GridIcons';
interface Props<TItem extends Identifiable, TFilter, TSorting> {
    table: Table<TItem>;
    store: NewGridStore<TItem, TFilter, TSorting>;
    hasSelection?: boolean;
    hasReorderingRows?: boolean;
    highlightedId?: string;
    actionColumnWidth?: number;
    classNames?: {
        body?: string;
        bodyRow?(row: TItem): string;
        bodyCell?(row: TItem): string;
    };
    styles?: {
        body?: React.CSSProperties;
        bodyRow?(row: TItem): React.CSSProperties;
        bodyCell?(row: TItem): React.CSSProperties;
    };
    icons?: GridIconsProps;
    actionAddon?(row: TItem): ReactNode;
    rowCanBeSelected?(row: TItem): boolean;
    onActionColumnWidthChange?(width: number): void;
    onRowReorder?(event: DragEndEvent): void;
    onRowClick?(row: TItem): void;
}
export declare const Body: <TItem extends Identifiable, TFilter, TSorting>({ table, hasSelection, rowCanBeSelected, actionAddon, onActionColumnWidthChange, hasReorderingRows, highlightedId, onRowClick, store, actionColumnWidth, icons, styles, classNames, }: Props<TItem, TFilter, TSorting>) => React.JSX.Element;
export {};
