import { ReactNode } from 'react';
import { Node, Edge } from 'reactflow';
import { ExpandGraphNodeDataProps } from './ExpandGraphNodeLabel';
import { EntityHeader, Reference } from '@sage-bionetworks/synapse-types';
import { Activity, UsedURL } from '@sage-bionetworks/synapse-types';
export declare enum NodeType {
    ENTITY = "EntityNode",
    ENTITY_PLACEHOLDER = "EntityPlaceholderNode",
    EXTERNAL = "ExternalNode",
    ACTIVITY = "ActivityNode",
    EXPAND = "ExpandNode",
    UNDEFINED = "UndefinedNode"
}
type ProvenanceNodeLabelProps = UsedURL | Activity | ExpandGraphNodeDataProps | EntityHeader | Reference;
export type ProvenanceNodeProps = {
    type: NodeType;
    data: ProvenanceNodeLabelProps;
};
export type ProvenanceNodeData = {
    label: ReactNode;
    props: ProvenanceNodeLabelProps;
    type: NodeType;
};
export declare const getProvenanceNode: (props: ProvenanceNodeProps) => Node;
export declare const getProvenanceEdge: (node1Props: ProvenanceNodeProps, node2Props: ProvenanceNodeProps) => Edge;
export declare const getNodeId: (props: ProvenanceNodeProps) => string;
export declare const getLayoutedElements: (nodes: Node[], edges: Edge[], direction: string) => {
    nodes: Node[];
    edges: Edge[];
};
export declare const isArrayEqual: (x: any[], y: any[]) => boolean;
export {};
//# sourceMappingURL=ProvenanceUtils.d.ts.map