export interface IEdge { node1: INode node2: INode color?: string } export interface INode { color?: string hotspot?: number hotspot_pos?: number layer?: number path: string label?: string } export declare function getRandomColor(): string export declare class Graph { edges: IEdge[] nodes: INode[] color_edges: boolean start_nodes: Set 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, graph_folder?: boolean): string to_mermaid(root_node?: string, graph_folder?: boolean): string add_edge(edge: IEdge): IEdge } export interface IPathTree { sub_folders: { [key: string]: IPathTree } files_in_folder: string[] }