import ActionButtons from './ActionButtons';
import BulkActions from './BulkActions';
import Filter from './Filters/Filter';
import createFilters from './Filters/createFilters';
import Filters from './Filters';
import RowAction from './RowAction';
import Table from './Table';

type TableType = typeof Table;

interface CompoundTableType extends TableType {
  ActionButtons: typeof ActionButtons;
  BulkActions: typeof BulkActions;
  Filter: typeof Filter;
  Filters: typeof Filters;
  RowAction: typeof RowAction;
  createFilters: typeof createFilters;
}

const CompoundTable = Table as CompoundTableType;
CompoundTable.ActionButtons = ActionButtons;
CompoundTable.BulkActions = BulkActions;
CompoundTable.RowAction = RowAction;
CompoundTable.Filters = Filters;
CompoundTable.Filter = Filter;
CompoundTable.createFilters = createFilters;

export default CompoundTable;
