/** * @fileoverview Load and cache opensip-cli.config.yml * * Reads the signalers config file (path resolved via config-resolution), * validates with Zod, and returns a frozen SignalersConfig. Throws when * the config file is missing — silent no-op would mask a broken scan. */ import type { SignalersConfig } from './types.js'; /** * Load and validate opensip-cli.config.yml from the given root directory. * * SCOPE-FIRST (ADR-0023 one-reader): when the current `RunScope` carries the * host-validated config document (`scope.configDocument`, attached by the CLI * pre-action hook after its single `readYamlFile`), this loader projects the * fitness shape from THAT document — no second file read, no chance of the * tool resolving a different file than the host did. The file-read fallback * below serves scope-less callers only (programmatic use, unit tests). * * Fallback resolution: --config (explicit) → /opensip-cli.config.yml. * See resolveProjectConfigPath(). * Results are cached per resolved file path. * * @param rootDir - Absolute path to the project root directory * @param explicitPath - Optional config path from --config CLI flag * @throws {ValidationError} When no config is found, YAML is invalid, or * schema validation fails. Intentionally loud: a missing config means * the scan would otherwise silently produce zero findings. */ export declare function loadSignalersConfig(rootDir: string, explicitPath?: string): SignalersConfig; //# sourceMappingURL=loader.d.ts.map