export interface IEdge { node1: INode; node2: INode; color?: string; } export interface INode { color?: string; hotspot?: number; hotspot_pos?: number; layer?: number; path: string; } export declare function getRandomColor(): string; export declare class Graph { edges: IEdge[]; nodes: INode[]; color_edges: boolean; start_node?: INode; constructor(color_edges: boolean); walk(start_node: INode, cb: (edge: IEdge, path: IEdge[]) => boolean, path?: IEdge[], visited_edges?: Set, visited_nodes?: Set): INode[]; get_node_for_id(path: string): INode; get_edges_for_node(node: INode): IEdge[]; get_incoming_edges_for_node(node: INode): IEdge[]; get_outgoing_edges_for_node(node: INode): IEdge[]; add_node(node: INode): INode; to_dot(root_node?: string): string; add_edge(edge: IEdge): IEdge; }