import type { ParsedNode, ParsedEdge } from '../types.js'; export interface ParseResult { nodes: ParsedNode[]; edges: ParsedEdge[]; stubIds: Set; } export interface ParsedFile { node: ParsedNode; edges: ParsedEdge[]; stubIds: Set; } /** * Parse a single file's raw contents into a node + outbound edges + any stub * targets the edges point at. Pure — no I/O. Shared by parseVault (for the * whole-vault loop) and the watcher's single-file reindex path. */ export declare function parseFileFromContent(relPath: string, raw: string, stemLookup: Map, allPathsSet: Set, warnedAmbiguous?: Set): ParsedFile; /** * Read and parse a single file on disk. Thin wrapper over parseFileFromContent * that handles file I/O and builds the stemLookup from a caller-supplied * path list (typically the sync table). */ export declare function parseSingleFile(vaultPath: string, relPath: string, allPaths: string[]): Promise; export declare function parseVault(vaultPath: string): Promise;