import React from 'react';
import { ClassNamesFn } from '../../theme';
import { IColumn, IRow } from '../../store/table';
import { SchemaNode, Action } from '../../types';
export interface TableContentProps {
    className?: string;
    tableClassName?: string;
    classnames: ClassNamesFn;
    columns: Array<IColumn>;
    columnsGroup: Array<{
        label: string;
        index: number;
        colSpan: number;
        has: Array<any>;
    }>;
    rows: Array<IRow>;
    placeholder?: string;
    render: (region: string, node: SchemaNode, props?: any) => JSX.Element;
    onMouseMove: (event: React.MouseEvent) => void;
    onScroll: (event: React.UIEvent) => void;
    tableRef: (table?: HTMLTableElement | null) => void;
    renderHeadCell: (column: IColumn, props?: any) => JSX.Element;
    renderCell: (region: string, column: IColumn, item: IRow, props: any) => React.ReactNode;
    onCheck: (item: IRow) => void;
    onQuickChange?: (item: IRow, values: object, saveImmediately?: boolean | any, savePristine?: boolean) => void;
    footable?: boolean;
    footableColumns: Array<IColumn>;
    checkOnItemClick?: boolean;
    buildItemProps?: (item: IRow, index: number) => any;
    onAction?: (e: React.UIEvent<any>, action: Action, ctx: object) => void;
    rowClassNameExpr?: string;
    rowClassName?: string;
}
export declare class TableContent extends React.Component<TableContentProps> {
    reaction?: () => void;
    constructor(props: TableContentProps);
    shouldComponentUpdate(nextProps: TableContentProps): boolean;
    render(): JSX.Element;
}
