import { type PluginMetadataSnapshot } from "../plugins/plugin-metadata-snapshot.js"; import type { KlawConfig, ConfigValidationIssue } from "./types.js"; export declare function collectUnsupportedSecretRefPolicyIssues(raw: unknown): ConfigValidationIssue[]; declare function mapZodIssueToConfigIssue(issue: unknown): ConfigValidationIssue; export declare const testing: { mapZodIssueToConfigIssue: typeof mapZodIssueToConfigIssue; }; /** * Validates config without applying runtime defaults. * Use this when you need the raw validated config (e.g., for writing back to file). */ export declare function validateConfigObjectRaw(raw: unknown, opts?: { sourceRaw?: unknown; touchedPaths?: ReadonlyArray>; validateBundledChannels?: boolean; preservedLegacyRootKeys?: readonly string[]; }): { ok: true; config: KlawConfig; } | { ok: false; issues: ConfigValidationIssue[]; }; export declare function validateConfigObject(raw: unknown, opts?: { manifestRegistry?: Pick["manifestRegistry"]; sourceRaw?: unknown; }): { ok: true; config: KlawConfig; } | { ok: false; issues: ConfigValidationIssue[]; }; type ValidateConfigWithPluginsResult = { ok: true; config: KlawConfig; warnings: ConfigValidationIssue[]; } | { ok: false; issues: ConfigValidationIssue[]; warnings: ConfigValidationIssue[]; }; type ValidateConfigWithPluginsParams = { env?: NodeJS.ProcessEnv; pluginValidation?: "full" | "skip"; pluginMetadataSnapshot?: Pick; loadPluginMetadataSnapshot?: (config: KlawConfig) => Pick; sourceRaw?: unknown; preservedLegacyRootKeys?: readonly string[]; }; export declare function validateConfigObjectWithPlugins(raw: unknown, params?: ValidateConfigWithPluginsParams): ValidateConfigWithPluginsResult; export declare function validateConfigObjectRawWithPlugins(raw: unknown, params?: ValidateConfigWithPluginsParams): ValidateConfigWithPluginsResult; export { testing as __testing };