import { MyceliumGraph } from './graph';
/**
 * Get the singleton in-memory graph for a project. First call loads from
 * disk; subsequent calls return the cached instance. Concurrent first-call
 * waiters share one disk-load.
 */
export declare function getSharedMyceliumGraph(projectDir: string): Promise<MyceliumGraph>;
/**
 * Write the cached graph back to disk. If the project has no cached graph
 * (no `getSharedMyceliumGraph` call yet), this is a no-op — there is
 * nothing to flush.
 */
export declare function flushSharedMyceliumGraph(projectDir: string): Promise<void>;
/** Test-only: drop all cached graphs. Production code must not call this. */
export declare function resetSharedMyceliumGraphForTest(): void;
/** Register a graph instance in the cache (idempotent overwrite). Used by
 *  routers constructed directly (CLI, tests) so subsequent
 *  `getSharedMyceliumGraph` callers see the same instance, and so
 *  `flushSharedMyceliumGraph` has something to write. */
export declare function registerSharedMyceliumGraph(projectDir: string, graph: MyceliumGraph): void;
//# sourceMappingURL=graphStore.d.ts.map