import { MouseEvent, ReactElement } from 'react';
import { Table, Cell, Row } from '@tanstack/react-table';
import type { DropdownMenuOption } from '../../dropdown-menu';
import { TableBodyCellProps } from './table-body-cell';
import { TABLE_SIZE, TableBodyLocalizationType } from '../types';
export type TableBodyProps<TData> = {
    tableModel: Table<TData>;
    selectable?: boolean;
    centerScrolled: boolean;
    scrollableRight: boolean;
    size: TABLE_SIZE;
    trClassName?: string | ((row: Row<TData>) => string);
    tdClassName?: string;
    expandedContentClassName?: string;
    paddingTop: number;
    paddingBottom: number;
    onRowClick?: (e: MouseEvent<HTMLTableRowElement>, row: TData) => void;
    isRowClickDisabled?: (row: TData) => boolean | string;
    isRowSelectionDisabled?: (row: TData) => boolean | string;
    virtualRows: {
        index: number;
    }[];
    TdElement: (props: TableBodyCellProps<TData>) => ReactElement;
    onCellClick?: (cell: Partial<Cell<TData, unknown>>, event: MouseEvent<unknown>) => void;
    ExpandedRowComponent?: ({ rowData }: {
        rowData: TData;
    }) => ReactElement;
    measureElement: (node: Element | null) => void;
    getRowActions?: (row: Row<TData>) => DropdownMenuOption[];
    getRowFooterAction?: (row: Row<TData>) => DropdownMenuOption;
    getCustomRowContent?: (row: Row<TData>, tableContainerWidth: number, centerScrolled: boolean, scrollableRight: boolean) => ReactElement | undefined;
    tableContainerWidth: number;
    localizationProps?: TableBodyLocalizationType;
    tableRowTestId: string | ((row: Row<TData>) => string);
    tableBodyCellTestId: string;
};
export declare function TableBody<TData>({ tableModel, selectable, centerScrolled, scrollableRight, trClassName, tdClassName, expandedContentClassName, TdElement, onCellClick, paddingTop, paddingBottom, virtualRows, onRowClick, isRowClickDisabled, isRowSelectionDisabled, ExpandedRowComponent, measureElement, getCustomRowContent, getRowActions, getRowFooterAction, size, tableContainerWidth, localizationProps, tableRowTestId, tableBodyCellTestId, }: TableBodyProps<TData>): import("react/jsx-runtime").JSX.Element;
