import React, { ReactNode } from 'react';
import { PureComponent } from '../component';
import { TbodyProps, Row } from './Props';
import { KeygenResult } from '../@types/common';
export declare const RENDER_COL_GROUP_EVENT = "RENDER_COL_GROUP_EVENT";
interface RowData<DataItem> extends Row<DataItem> {
    ignoreBorderRight: boolean;
    content?: ReactNode;
}
interface TbodyState {
    expand: Record<string, boolean>;
}
declare class Tbody<DataItem, Value> extends PureComponent<TbodyProps<DataItem, Value>, TbodyState> {
    colgroupSetted: boolean;
    keys: Record<string, boolean>;
    body: HTMLTableSectionElement;
    constructor(props: TbodyProps<DataItem, Value>);
    componentDidMount(): void;
    componentDidUpdate(prevProps: TbodyProps<DataItem, Value>): void;
    bodyRender(): void;
    bindBody(el: HTMLTableSectionElement): void;
    handleExpand(key: KeygenResult, render: () => ReactNode): void;
    findExpandFunc(key: KeygenResult, i: number): React.ReactNode;
    renderTr(row: Row<DataItem>[], i: number): JSX.Element;
    renderPlaceholderTr(): JSX.Element;
    renderTrs(rows: RowData<DataItem>[][]): JSX.Element[];
    render(): JSX.Element;
}
export default Tbody;
