/**
 * KiroGraph Graph Traversal Module
 * Provides BFS and DFS traversal over the knowledge graph.
 */
import type { Node, EdgeKind, NodeKind } from '../types';
import type { GraphDatabase } from '../db/database';
export interface TraversalOptions {
    maxDepth?: number;
    edgeKinds?: EdgeKind[];
    nodeKinds?: NodeKind[];
    direction?: 'outgoing' | 'incoming' | 'both';
    limit?: number;
    includeStart?: boolean;
}
export declare class GraphTraverser {
    private readonly db;
    constructor(db: GraphDatabase);
    /**
     * Breadth-first traversal from startId.
     * Visits all nodes at depth D before any node at depth D+1.
     */
    traverseBFS(startId: string, opts?: TraversalOptions): Promise<Node[]>;
    /**
     * Depth-first traversal from startId.
     */
    traverseDFS(startId: string, opts?: TraversalOptions): Promise<Node[]>;
    /**
     * Get neighbor node IDs from the database, filtered by direction and edge kinds.
     */
    private getNeighbors;
    private getOutgoingEdges;
    private getIncomingEdges;
    private matchesNodeKinds;
}
//# sourceMappingURL=traversal.d.ts.map