import type { AbstractHyperedge } from './abstract-hyperedge.js'; /** * Backward-compat: snapshot of registered classes keyed by typeTag. * Prefer HyperedgeRegistry.forTypeTag() for new code — this snapshot * is frozen at module load and won't pick up runtime registrations * from tests (the OCP test in Phase 11 registers a mock type after * import). */ export declare const TYPE_TO_CLASS: object; /** * Thrown by `loadAll` when a relation file has an unknown `type`, * malformed structure, or a class that fails to instantiate. */ export declare class RelationLoadError extends Error { readonly path: string; constructor(path: string, message: string); } /** * Walk a `relations/` directory and load every relation file, * returning a Map keyed by comprehensive-id. * * Returns an empty Map if `relationsDir` doesn't exist or is empty. */ export declare function loadAll(relationsDir: string | null | undefined): Map; /** * Namespace bundle for the loader — callers import it as * `import { RelationLoader } from './relation-loader.js'` and call * `RelationLoader.loadAll(dir)`. The individual functions are also * exported directly for tree-shakeable single-call sites. */ export declare const RelationLoader: Readonly<{ loadAll: typeof loadAll; loadOne: typeof loadOne; }>; /** * Load a single relation file. Returns null if the file is missing, * unreadable, or doesn't have a recognized `type` field. Throws * `RelationLoadError` on malformed content. */ export declare function loadOne(path: string): AbstractHyperedge | null; //# sourceMappingURL=relation-loader.d.ts.map