/** * Semantic (cross-field) config validation for Phase 61 (STEP-61-03). * * `FrameworkConfigSchema` (STEP-61-02) covers structure and types. The rules * here are the ones a structural schema can't express — required-when, * uniqueness, and reference integrity — ported from the imperative * `validateConfig` in `loader.ts` but returning `ConfigError`s (with * remediation) instead of throwing on the first problem. * * The canonical loader runs this pass after schema decoding and surfaces the * accumulated issues as one `ConfigValidationError`. */ import { ConfigError } from './errors'; import type { FrameworkConfigSchemaType } from './schema'; import type { FrameworkConfig } from './types'; /** * Run every semantic rule over an already-structurally-decoded config and * return all violations. An empty array means the config is semantically * valid. Errors accumulate — every problem is reported, not just the first. */ export declare function validateFrameworkConfig(config: FrameworkConfigSchemaType): ConfigError[]; /** * Preserve the compatibility diagnostics that were intentionally warn-only in * the imperative validator. Schema-first loading must not silently discard * useful configuration feedback merely because these conditions are valid. */ export declare function workflowDefaultAgentWarning(workflowName: string, workflow: NonNullable[string]): string | undefined; export declare function mcpConfigWarnings(mcpServers: NonNullable, agents: FrameworkConfig['agents']): string[]; export declare function emitFrameworkConfigWarnings(config: FrameworkConfig): void; //# sourceMappingURL=validate.d.ts.map