/** * Exit DSL validation: interval bounds and structured errors for primitive field checks. */ export type DslValidationIssueCode = "INVALID_INTERVAL_SECONDS" | "INVALID_PRESET_CONFIG" | "INVALID_MAX_LOSS_PCT" | "INVALID_RETRACE_THRESHOLD" | "INVALID_TRIGGER_PCT" | "INVALID_LOCK_HW_PCT" | "INVALID_BREACHES" | "INVALID_CONSECUTIVE_BREACHES" | "INVALID_PHASE2_TRIGGER_TIER" | "INVALID_TIME_CUT_INTERVAL" | "INVALID_WEAK_PEAK_MIN_VALUE" | "UNKNOWN_DSL_CONFIG_KEY" | "DSL_PRESET_SOURCE_CONFLICT" | "LEGACY_PRESET_FIELD" | "LEGACY_PHASE1_FIELD" | "LEGACY_PHASE2_FIELD" | "LEGACY_TIER_FIELD"; export interface DslValidationIssue { code: DslValidationIssueCode; message: string; path: string; } export declare class DslConfigValidationError extends Error { readonly issues: DslValidationIssue[]; constructor(issues: DslValidationIssue[]); toJSON(): { issues: DslValidationIssue[]; }; } /** Build a single validation issue (for callers outside this module). */ export declare function dslValidationIssue(code: DslValidationIssueCode, message: string, path: string): DslValidationIssue; /** interval_seconds: integer in [minSeconds, maxSeconds]. */ export declare function validateIntervalSeconds(intervalSeconds: number, minSeconds: number, maxSeconds: number): void; //# sourceMappingURL=validation.d.ts.map