import type { AutoSettings } from "./automanager"; /** @public */ export interface SettingsValidationError { code: SettingsValidationErrorCode; /** Dotted path to the offending field. */ path: string; message: string; } /** @public */ export type SettingsValidationErrorCode = "invalidType" | "missingRequired" | "outOfRange" | "invalidEnumValue" | "unknownPool" | "duplicatePool" | "duplicateTier" | "incompatibleConfig" | "experimentalNotEnabled"; /** * Validate an `AutoSettings` value at boot. Returns all errors found * (does not short-circuit). Callbacks are not validated — TypeScript * structural typing already covers them as well as a runtime check * usefully can. The point of this validator is to catch * configuration mistakes operators make (typos in pool names, bad * enum values, negative timeouts), not to second-guess the type * system. * * @public */ export declare function validateAutoSettings(settings: AutoSettings): SettingsValidationError[]; /** * Thrown by `AutoManager.run` when `validateAutoSettings` finds * configuration errors. The `.errors` property carries the structured * details; `.message` contains a human-readable summary. * * @public */ export declare class AutoSettingsValidationError extends Error { readonly errors: SettingsValidationError[]; constructor(errors: SettingsValidationError[]); } //# sourceMappingURL=settingsValidation.d.ts.map