/** * Filesystem loader. Walks a dataset root, parses each JSON file, runs Layer 1 * structural validation, and normalizes everything into a `World` of * concrete `TableTypeBase` instances that the semantic rules operate on. * * Parse errors, structural errors, and a missing schema-description file are * reported here; all cross-field / cross-file logic lives in the table-type * classes (`./table-type.ts`, `./table-types/*`). */ import { Violation } from './model'; import { World } from './world'; /** Result of loading a root: the model plus any load-time violations. */ export interface LoadOutcome { /** The loaded model. */ readonly world: World; /** Parse, structural, and missing-description violations. */ readonly violations: Violation[]; } /** * Load a dataset root into a `World`. * * @param rootDir Absolute or relative path to the dataset root. * @returns The loaded world plus load-time violations. * @throws Error When `rootDir` is not an existing directory. */ export declare function loadRoot(rootDir: string): LoadOutcome;