/**
 * Facade for commit DAG traversal operations.
 *
 * Composes DagTraversal, DagPathFinding, and DagTopology services
 * into a single backward-compatible API surface. All public methods
 * delegate to the appropriate sub-service.
 *
 * @module domain/services/dag/CommitDagTraversalService
 */
import type LoggerPort from '../../../ports/LoggerPort.ts';
import DagTraversal, { type TraversalNode, type TraversalOptions, type DagIndexReader } from './DagTraversal.ts';
import DagPathFinding, { type AStarResult, type PathResult, type WeightedResult } from './DagPathFinding.ts';
import DagTopology from './DagTopology.ts';
export default class CommitDagTraversalService {
    private readonly _traversal;
    private readonly _pathFinding;
    private readonly _topology;
    constructor(deps: {
        indexReader: DagIndexReader;
        logger?: LoggerPort;
    });
    bfs(opts: TraversalOptions): AsyncGenerator<TraversalNode>;
    dfs(opts: TraversalOptions): AsyncGenerator<TraversalNode>;
    ancestors(opts: Parameters<DagTraversal['ancestors']>[0]): AsyncGenerator<TraversalNode>;
    descendants(opts: Parameters<DagTraversal['descendants']>[0]): AsyncGenerator<TraversalNode>;
    isReachable(opts: Parameters<DagTraversal['isReachable']>[0]): Promise<boolean>;
    findPath(opts: Parameters<DagPathFinding['findPath']>[0]): Promise<PathResult>;
    shortestPath(opts: Parameters<DagPathFinding['shortestPath']>[0]): Promise<PathResult>;
    weightedShortestPath(opts: Parameters<DagPathFinding['weightedShortestPath']>[0]): Promise<WeightedResult>;
    aStarSearch(opts: Parameters<DagPathFinding['aStarSearch']>[0]): Promise<AStarResult>;
    bidirectionalAStar(opts: Parameters<DagPathFinding['bidirectionalAStar']>[0]): Promise<AStarResult>;
    commonAncestors(opts: Parameters<DagTopology['commonAncestors']>[0]): Promise<string[]>;
    topologicalSort(opts: Parameters<DagTopology['topologicalSort']>[0]): AsyncGenerator<{
        sha: string;
        depth: number;
        parent: null;
    }>;
}
