import type { MergedConfig } from "./config-layer.js"; export type ValidationCode = "UNKNOWN_PERSONA" | "MODEL_UNAVAILABLE" | "UNKNOWN_PIPELINE" | "UNRESOLVABLE_OVERRIDE"; export interface ValidationIssue { code: ValidationCode; message: string; /** JSON-pointer-style path to the offending config value */ path?: string; } export interface ValidationReport { errors: ValidationIssue[]; warnings: ValidationIssue[]; } type AvailableModel = { provider: string; id: string; }; /** * Validate the merged forge-cli model config against runtime catalogues. * * - strict=false: unavailability and unknown persona names are warnings. * - strict=true: those warnings become errors. * - Unknown pipeline names are always errors when pipelineCatalogue is non-null; * warnings when pipelineCatalogue is null (no .forge/config.json found). * - Unresolvable model-override strings are always errors. * * The function is pure — no I/O. Callers pass in the pre-built catalogues. */ export declare function validateModelConfig(personaCatalogue: string[], pipelineCatalogue: string[] | null, merged: MergedConfig, availableModels: AvailableModel[], strict: boolean): ValidationReport; export {};