/** * Structured configuration diagnostics. * * Canonical-key validation, candidate composition, and the editing service all * report problems as `ConfigDiagnostic` values instead of writing to the * console. Runtime callers (`validateConfigKeys`) render the same values back * into the warn-once console messages they always emitted, so this module adds * a structured channel without changing existing runtime behavior. * * Core module — no pi imports. */ export type ConfigSeverity = "error" | "warning"; /** A location inside a YAML document (1-based, as reported by `LineCounter`). */ export interface ConfigDocumentPosition { line: number; col: number; } export interface ConfigDiagnostic { severity: ConfigSeverity; /** Human-readable message. Runtime callers log this verbatim. */ message: string; /** Canonical dotted path when the diagnostic is attributable to one. */ path?: string; /** File the diagnostic came from, when known (entry or an import). */ file?: string; /** Position inside `file`, when known. */ position?: ConfigDocumentPosition; } /** A diagnostic plus the stable key runtime callers dedup warn-once on. */ export interface CollectedDiagnostic extends ConfigDiagnostic { /** Stable identifier for per-source warn-once dedup. */ dedupKey: string; } /** True when any diagnostic blocks a save. */ export declare function hasBlockingError(diagnostics: readonly ConfigDiagnostic[]): boolean; /** Diagnostics of one severity, in report order. */ export declare function bySeverity(diagnostics: readonly ConfigDiagnostic[], severity: ConfigSeverity): ConfigDiagnostic[]; //# sourceMappingURL=config-diagnostics.d.ts.map