import { default as React } from 'react';
import { TableProps, TableHeaderProps, TableBodyProps, TableFooterProps, TableRowProps, TableCellProps, TableHeaderCellProps, TablePaginationProps, TableFilterProps, TableGlobalFilterProps, TableSortIconProps, TableExpandButtonProps, TableSelectCheckboxProps, TableEditCellProps, TableEmptyProps, TableLoadingProps, TableExpandedPanelProps, ColumnDef, RowData } from './types';

declare const TableHeader: React.ForwardRefExoticComponent<TableHeaderProps & React.RefAttributes<HTMLTableSectionElement>>;
declare const TableBody: React.ForwardRefExoticComponent<TableBodyProps & React.RefAttributes<HTMLTableSectionElement>>;
declare const TableFooter: React.ForwardRefExoticComponent<TableFooterProps & React.RefAttributes<HTMLTableSectionElement>>;
declare const TableRow: React.ForwardRefExoticComponent<TableRowProps & {
    row: RowData;
    rowIndex: number;
} & React.RefAttributes<HTMLTableRowElement>>;
declare const TableCell: React.ForwardRefExoticComponent<TableCellProps & {
    row: RowData;
    column: ColumnDef<RowData>;
    rowIndex: number;
    columnIndex?: number;
} & React.RefAttributes<HTMLTableCellElement>>;
declare const TableHeaderCell: React.ForwardRefExoticComponent<TableHeaderCellProps & {
    column?: ColumnDef<RowData>;
} & React.RefAttributes<HTMLTableCellElement>>;
declare const TableSortIcon: React.FC<TableSortIconProps>;
declare const TableExpandButton: React.FC<TableExpandButtonProps>;
declare const TableSelectCheckbox: React.FC<TableSelectCheckboxProps>;
declare const TableEditCell: React.FC<TableEditCellProps>;
declare const TableEmpty: React.FC<TableEmptyProps>;
declare const TableLoading: React.FC<TableLoadingProps>;
declare const TableExpandedPanel: React.FC<TableExpandedPanelProps>;
declare const TablePagination: React.FC<TablePaginationProps>;
declare const TableFilter: React.FC<TableFilterProps>;
declare const TableGlobalFilter: React.FC<TableGlobalFilterProps>;
interface TableComponent extends React.ForwardRefExoticComponent<TableProps & React.RefAttributes<HTMLTableElement>> {
    Header: typeof TableHeader;
    Body: typeof TableBody;
    Footer: typeof TableFooter;
    Row: typeof TableRow;
    Cell: typeof TableCell;
    HeaderCell: typeof TableHeaderCell;
    Pagination: typeof TablePagination;
    Filter: typeof TableFilter;
    GlobalFilter: typeof TableGlobalFilter;
    SortIcon: typeof TableSortIcon;
    ExpandButton: typeof TableExpandButton;
    SelectCheckbox: typeof TableSelectCheckbox;
    EditCell: typeof TableEditCell;
    Empty: typeof TableEmpty;
    Loading: typeof TableLoading;
    ExpandedPanel: typeof TableExpandedPanel;
}
declare const TableCompound: TableComponent;
export { TableCompound as Table, TableHeader, TableBody, TableFooter, TableRow, TableCell, TableHeaderCell, TablePagination, TableFilter, TableGlobalFilter, TableSortIcon, TableExpandButton, TableSelectCheckbox, TableEditCell, TableEmpty, TableLoading, TableExpandedPanel, };
