import { DataFrame } from '../data/DataFrame'; import { Edge } from './Edge'; import { GraphNode } from './_internal/GraphNode'; export interface Graph extends GraphNode { internalSink: GraphNode; internalSource: GraphNode; edges: Array>; nodes: Array>; /** * Find a node by its identifier * @param {string} uid Node identifier * @returns {GraphNode} Graph node */ findNodeByUID(uid: string): GraphNode; /** * Find a node by its name * @param {string} name Node name * @returns {GraphNode} Graph node */ findNodeByName(name: string): GraphNode; /** * Find an edge by the identifiers of its inlet and outlet * @param {string} inlet Node uid of inlet * @param {string} outlet Node uid of outlet */ findEdge(inlet: string, outlet: string): Edge; addNode(node: GraphNode): void; addEdge(edge: Edge): void; deleteEdge(edge: Edge): void; deleteNode(node: GraphNode): void; }