/**
 * Graphology Graph Backend
 *
 * Optional implementation of GraphBackend using the graphology library.
 * Provides typed/attributed edges, BFS/DFS traversal, community detection,
 * and shortest-path algorithms.
 *
 * Install: npm install graphology graphology-types graphology-operators graphology-traversal
 *
 * @implements #728
 * @source @src/artifacts/graph-backend.ts
 * @tests @test/unit/artifacts/graphology-backend.test.ts
 */
import type { GraphBackend } from '../graph-backend.js';
import type { DependencyGraph } from '../types.js';
/**
 * Graphology-backed graph with rich traversal and operator ecosystem.
 *
 * Uses dynamic import so the graphology package is only loaded when this
 * backend is explicitly selected. Projects that don't install graphology
 * pay zero cost.
 */
export declare class GraphologyBackend implements GraphBackend {
    private graph;
    private constructor();
    /**
     * Factory: creates a GraphologyBackend with a fresh directed multigraph.
     * Throws a clear error if graphology is not installed.
     */
    static create(): Promise<GraphologyBackend>;
    addNode(id: string, attrs?: Record<string, unknown>): void;
    addEdge(source: string, target: string, type?: string, attrs?: Record<string, unknown>): void;
    hasNode(id: string): boolean;
    hasEdge(source: string, target: string, edgeType?: string): boolean;
    getNodeAttrs(id: string): Record<string, unknown> | undefined;
    nodes(): string[];
    neighbors(nodeId: string, direction: 'in' | 'out' | 'both', edgeType?: string): string[];
    intersection(setA: string[], setB: string[]): string[];
    difference(setA: string[], setB: string[]): string[];
    union(setA: string[], setB: string[]): string[];
    serialize(): DependencyGraph;
    deserialize(data: DependencyGraph): void;
    nodeCount(): number;
    edgeCount(): number;
}
//# sourceMappingURL=graphology-backend.d.ts.map