/** * Graph Traversal Manager * Handles traversal operations and navigation through the graph */ import { KnowledgeNode, KnowledgeTriad, TraversalQuery, SemanticCluster, RelationType } from '../types'; import { IGraphStateManager } from './graph-state-manager'; import { IGraphUtilityService } from '../services/graph-utility-service'; export interface IGraphTraversalManager { traverse(query: TraversalQuery, stateManager: IGraphStateManager): Promise<{ nodes: KnowledgeNode[]; path: string[]; }>; traverseFromNode(startNodeId: string, maxDepth: number, relationFilter: RelationType[], stateManager: IGraphStateManager): Promise<{ nodes: KnowledgeNode[]; depth: number; }>; expandSemanticCluster(startNodeId: string, visited: Set, stateManager: IGraphStateManager, utilityService: IGraphUtilityService): Promise; findPath(startId: string, endId: string, stateManager: IGraphStateManager): string[]; findAllPaths(startId: string, endId: string, maxDepth: number, stateManager: IGraphStateManager): string[][]; findLongestPath(startId: string, stateManager: IGraphStateManager, maxDepth?: number): string[]; exploreFromNode(startNodeId: string, explorationDepth: number, stateManager: IGraphStateManager): Promise<{ exploredNodes: string[]; exploredTriads: string[]; }>; randomWalk(startNodeId: string, steps: number, stateManager: IGraphStateManager): string[]; extractSubgraph(nodeIds: string[], stateManager: IGraphStateManager): { nodes: KnowledgeNode[]; triads: KnowledgeTriad[]; }; findConnectedComponent(startNodeId: string, stateManager: IGraphStateManager): string[]; } export declare class GraphTraversalManager implements IGraphTraversalManager { private logger; traverse(query: TraversalQuery, stateManager: IGraphStateManager): Promise<{ nodes: KnowledgeNode[]; path: string[]; }>; traverseFromNode(startNodeId: string, maxDepth: number, relationFilter: RelationType[], stateManager: IGraphStateManager): Promise<{ nodes: KnowledgeNode[]; depth: number; }>; expandSemanticCluster(startNodeId: string, visited: Set, stateManager: IGraphStateManager, utilityService: IGraphUtilityService): Promise; findPath(startId: string, endId: string, stateManager: IGraphStateManager): string[]; findAllPaths(startId: string, endId: string, maxDepth: number, stateManager: IGraphStateManager): string[][]; findLongestPath(startId: string, stateManager: IGraphStateManager, maxDepth?: number): string[]; exploreFromNode(startNodeId: string, explorationDepth: number, stateManager: IGraphStateManager): Promise<{ exploredNodes: string[]; exploredTriads: string[]; }>; randomWalk(startNodeId: string, steps: number, stateManager: IGraphStateManager): string[]; extractSubgraph(nodeIds: string[], stateManager: IGraphStateManager): { nodes: KnowledgeNode[]; triads: KnowledgeTriad[]; }; findConnectedComponent(startNodeId: string, stateManager: IGraphStateManager): string[]; /** * Breadth-first search with custom node filter */ bfsWithFilter(startNodeId: string, nodeFilter: (node: KnowledgeNode) => boolean, maxDepth: number, stateManager: IGraphStateManager): KnowledgeNode[]; /** * Depth-first search with custom relation filter */ dfsWithRelationFilter(startNodeId: string, relationFilter: (relation: RelationType) => boolean, maxDepth: number, stateManager: IGraphStateManager): string[]; /** * Find articulation points (nodes whose removal disconnects the graph) */ findArticulationPoints(stateManager: IGraphStateManager): string[]; private countConnectedComponents; private countConnectedComponentsWithoutNode; private findConnectedComponentExcludingNode; } //# sourceMappingURL=graph-traversal-manager.d.ts.map