import React, { Component, ReactNode } from 'react';
import { ElementProps } from '../core/ViewComponent';
import Record from '../data-set/Record';
import { ColumnLock } from './enum';
import ColumnGroups from './ColumnGroups';
export interface TableTBodyProps extends ElementProps {
    lock?: ColumnLock;
    columnGroups: ColumnGroups;
}
export default class TableTBody extends Component<TableTBodyProps> {
    static displayName: string;
    static contextType: React.Context<import("./TableContext").TableContextValue>;
    constructor(props: any, context: any);
    handlePerformance(): void;
    componentDidMount(): void;
    componentWillUpdate(): void;
    componentDidUpdate(): void;
    handleResize(_width: number, height: number): void;
    render(): JSX.Element;
    getRows(records: Record[], columnGroups: ColumnGroups, expanded?: boolean, virtual?: boolean): ReactNode;
    getEmptyRow(columnGroups: ColumnGroups): ReactNode | undefined;
    renderExpandedRows(columnGroups: ColumnGroups, record: Record, isExpanded?: boolean): ReactNode;
    getRow(columnGroups: ColumnGroups, record: Record, index: number, expanded?: boolean): ReactNode;
}
