import type { Concept } from './models/concept.js'; import { Register } from './models/register.js'; /** * Read all v2 glossarist concept YAML files from a directory, then * merge in any per-file hyperedge YAMLs from `/relations/`. * * Per-file hyperedge storage (concept-model PR #83): each file at * `relations//.yaml` is loaded and merged * into the corresponding Concept.relations array. If the directory * does not exist, no per-file hyperedges are loaded (concepts still * get any inline hyperedges from their own YAML). * * @param {string} dir - path to directory containing concept YAML files * @returns {import('./models/concept.js').Concept[]} * @throws {InvalidInputError} if dir is missing or empty * * @example * const concepts = readConcepts('./geolexica-v2/'); * console.log(concepts[0].localization('eng').terms[0].designation); */ export declare function readConcepts(dir: string): Concept[]; /** * Read a single concept file by ID from a directory, then merge in * any per-file hyperedge YAMLs for that concept from * `/relations//`. * * @param {string} dir - path to directory containing concept YAML files * @param {string} id - concept identifier (filename without .yaml) * @returns {import('./models/concept.js').Concept | null} * @throws {InvalidInputError} if dir or id is missing or empty * * @example * const concept = readConcept('./geolexica-v2/', '3.1.1.1'); * if (concept) console.log(concept.termid); */ export declare function readConcept(dir: string, id: string): Concept | null; /** * List all concept IDs in a directory, optionally filtered by prefix. * @param {string} dir - path to directory * @param {string} [prefix] - optional prefix filter * @returns {string[]} * @throws {InvalidInputError} if dir is missing or empty * * @example * const ids = listConceptIds('./geolexica-v2/', '3.1.'); // ['3.1.1.1', '3.1.1.2', ...] */ export declare function listConceptIds(dir: string, prefix?: string): string[]; /** * Read register.yaml from a dataset directory (if present). * @param {string} dir - path to directory * @returns {Record | null} * @throws {InvalidInputError} if dir is missing or empty */ export declare function readRegister(dir: string): Register | null; //# sourceMappingURL=concept-reader.d.ts.map