import type { RawEvalSchema, EnvironmentConfig } from "./types.js"; import type { ValidateResult } from "./diagnostics.js"; import type { GraderRegistry } from "../graders/registry.js"; export declare const invalidMcpConfigCode = "environment-mcp-invalid"; export declare const invalidEnvVarsCode = "environment-env-invalid"; export interface ValidateOptions { /** Grader registry (used to resolve type names and check metadata). */ registry: GraderRegistry; /** Absolute path to the eval YAML file — enables file-existence checks. */ evalFilePath?: string; /** Named environments from the project config — enables ref resolution checks. */ environments?: Record; /** Runtime threshold override used when scoring config omits a threshold. */ thresholdOverride?: number; /** True when grading is skipped (`--skip-grade`). The scoring-config checks * only describe verdict behavior, which never runs under `--skip-grade`, so * they stay silent to avoid diagnostics about scoring that won't happen. */ skipGrade?: boolean; /** Executor override (`--executor`) superseding `defaults.executor`; used by * the executor-config check. */ executorOverride?: string; /** Executor registry; when provided, `defaults.executor.config` is validated * against the resolved executor's `validateConfig` hook so `vally lint` * catches invalid executor config (e.g. BYOK provider blocks). */ executorRegistry?: import("../executor/types.js").ExecutorRegistry; } /** * Validate an eval spec without executing anything. * Returns `{ valid: true }` when there are zero errors (warnings are acceptable). */ export declare function validateEvalSpec(spec: RawEvalSchema, options: ValidateOptions): ValidateResult; //# sourceMappingURL=validator.d.ts.map