import { GraphNode, GraphEdge, SourceGraph, ClassifiedGraph, GraphSnapshot, NodeType, ArchitectureLayer } from './GraphTypes'; export { GraphNode, GraphEdge, SourceGraph, ClassifiedGraph, GraphSnapshot, NodeType, ArchitectureLayer }; /** * Utility to deeply freeze an object */ export declare function deepFreeze(obj: T): T; /** * DependencyGraph class provides storage for nodes and edges * with methods to add and query graph elements. */ export declare class DependencyGraph { nodes: Map; edges: GraphEdge[]; /** * Adds a node to the graph. If a node with the same ID already exists, * it will be overwritten. */ addNode(node: GraphNode): void; /** * Adds a directed edge to the graph. * Duplicate edges (same from/to/type) are not added. */ addEdge(edge: GraphEdge): void; /** * Returns whether a node with the given ID exists in the graph. */ hasNode(id: string): boolean; /** * Returns the node with the given ID, or undefined if not found. */ getNode(id: string): GraphNode | undefined; /** * Returns all edges originating from the given node ID. */ getEdgesFrom(fromId: string): GraphEdge[]; /** * Returns all edges pointing to the given node ID. */ getEdgesTo(toId: string): GraphEdge[]; /** * Sorts nodes and edges deterministically. */ sort(): void; /** * Creates a deeply frozen snapshot of the graph. */ createSnapshot(version: string): GraphSnapshot; } //# sourceMappingURL=DependencyGraph.d.ts.map