import type { MCPClient } from '../core/database.js'; import type { NarrativeNode, NarrativeEdge } from '../types/graph.js'; import type { ID } from '../types/common.js'; export declare class NarrativeGraphService { private readonly client; private readonly repo; constructor(client: MCPClient); upsertNode(node: NarrativeNode): Promise; upsertEdge(edge: NarrativeEdge): Promise; getNode(id: ID): Promise; getNeighbors(nodeId: ID): Promise<{ node: NarrativeNode; edge: NarrativeEdge; }[]>; findPath(fromId: ID, toId: ID): Promise; /** * Rebuild the full narrative graph for a project. * Drops all existing project nodes and edges then re-derives them from: * - characters (scenes they appear in) → appears_in edges * - narrative promises → introduced_in edges * - canon items → applies_to edges (by subject matching character labels) * * Idempotent: running twice produces identical node+edge count. */ rebuild(projectId: ID): Promise<{ nodeCount: number; edgeCount: number; }>; } //# sourceMappingURL=narrative-graph-service.d.ts.map