import React from 'react';
import { WrappedComponentProps } from 'react-intl';
import { EntityManager } from '../EntityManager';
import { Entity, Schema } from "@alephdata/followthemoney";
import Datasheet from 'react-datasheet';
import { SortType } from './SortType';
import "./TableEditor.scss";
export interface CellData extends Datasheet.Cell<CellData, any> {
    className: string;
    value?: any;
    displayValue?: any;
    data?: any;
    component?: any;
}
interface ITableEditorProps extends WrappedComponentProps {
    entities: Array<Entity>;
    schema: Schema;
    sort: SortType | null;
    sortColumn: (field: string) => void;
    selection: Array<Entity>;
    updateSelection: (entity: Entity) => void;
    entityManager: EntityManager;
    writeable: boolean;
    isPending?: boolean;
    updateFinishedCallback?: () => void;
    visitEntity?: (entity: Entity) => void;
}
export declare const TableEditor: React.ForwardRefExoticComponent<Pick<ITableEditorProps, "entities" | "schema" | "sort" | "sortColumn" | "selection" | "updateSelection" | "entityManager" | "writeable" | "isPending" | "updateFinishedCallback" | "visitEntity"> & {
    forwardedRef?: ((instance: any) => void) | React.RefObject<any> | null | undefined;
} & React.RefAttributes<any>> & {
    WrappedComponent: React.ComponentType<ITableEditorProps>;
};
export {};
