import React from 'react';
import { WrappedComponentProps } from 'react-intl';
import { GraphLayout } from '../layout';
import { GraphUpdateHandler } from '../GraphContext';
import { TabId } from "@blueprintjs/core";
import { Entity, IEntityDatum, Schema } from "@alephdata/followthemoney";
import { SortType } from './SortType';
import "./TableView.scss";
interface ITableViewProps extends WrappedComponentProps {
    isOpen: boolean;
    layout: GraphLayout;
    updateLayout: GraphUpdateHandler;
    writeable: boolean;
    actions: any;
    toggleTableView: () => void;
}
interface ITableViewState {
    activeTabId: TabId;
    schemata: Array<Schema>;
    sort: SortType | null;
}
export declare class TableViewBase extends React.Component<ITableViewProps, ITableViewState> {
    private localEntityManager;
    constructor(props: ITableViewProps);
    getEntities(schema: Schema): Entity[];
    addSchema(schema: Schema): void;
    setActiveTab(newTabId: TabId): void;
    onEntityCreate(entityData: IEntityDatum): Promise<Entity>;
    onEntityDelete(entity: Entity): void;
    onEntityUpdate(entity: Entity): void;
    onColumnSort(sort: SortType): void;
    onSelectionUpdate(entityId: string): void;
    render(): JSX.Element;
}
export declare const TableView: React.ForwardRefExoticComponent<Pick<ITableViewProps, "isOpen" | "layout" | "updateLayout" | "writeable" | "actions" | "toggleTableView"> & {
    forwardedRef?: ((instance: any) => void) | React.RefObject<any> | null | undefined;
} & React.RefAttributes<any>> & {
    WrappedComponent: React.ComponentType<ITableViewProps>;
};
export {};
