/**
 * EvalConfigSchema — Zod schema for JSON/YAML evaluation config files.
 *
 * This defines the shape of config files loaded via `--config <path>`.
 * It's a user-facing subset of ResolvedConfig — fields that make sense
 * to persist in a file. Runtime-computed fields (rootDir, promptfooUrl)
 * are not included.
 *
 * The blocks shared with `RepoConfigSchema` (.ailf/config.yaml) are
 * composed from `./config-blocks.ts` (D0060) — defined once, drift is a
 * compile error. Run-only selectors (areas/tasks/mode/compare/…) stay
 * local to this wrapper; `source` accepts a named-source string or the
 * shared inline-location object.
 *
 * The same schema will be used by the future ContentLakeConfigAdapter
 * (studio-eval-config) so Content Lake documents validate identically.
 */
import { z } from "zod";
export declare const EvalConfigSchema: z.ZodObject<{
    agentic: z.ZodOptional<z.ZodObject<{
        headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        allowedOrigins: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
    artifacts: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodOptional<z.ZodBoolean>;
        dir: z.ZodOptional<z.ZodString>;
        exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
    taskSource: z.ZodOptional<z.ZodObject<{
        type: z.ZodOptional<z.ZodEnum<{
            "content-lake": "content-lake";
            repo: "repo";
        }>>;
        repoTasksPath: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    areas: z.ZodOptional<z.ZodArray<z.ZodString>>;
    changedDocs: z.ZodOptional<z.ZodArray<z.ZodString>>;
    compare: z.ZodOptional<z.ZodBoolean>;
    compareBaseline: z.ZodOptional<z.ZodString>;
    compareThreshold: z.ZodOptional<z.ZodNumber>;
    debug: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
        enabled: z.ZodOptional<z.ZodBoolean>;
        firstN: z.ZodOptional<z.ZodNumber>;
        pattern: z.ZodOptional<z.ZodString>;
        sample: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>]>>;
    execution: z.ZodOptional<z.ZodObject<{
        concurrency: z.ZodOptional<z.ZodNumber>;
        graderReplications: z.ZodOptional<z.ZodNumber>;
        borderlineReplications: z.ZodOptional<z.ZodNumber>;
        gapAnalysis: z.ZodOptional<z.ZodBoolean>;
        apiUrl: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    grader: z.ZodOptional<z.ZodObject<{
        context: z.ZodOptional<z.ZodEnum<{
            "rubric-only": "rubric-only";
            "with-docs": "with-docs";
        }>>;
    }, z.core.$strip>>;
    output: z.ZodOptional<z.ZodObject<{
        dir: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    mode: z.ZodOptional<z.ZodEnum<{
        custom: "custom";
        literacy: "literacy";
        full: "full";
        "mcp-server": "mcp-server";
        "agent-harness": "agent-harness";
        "knowledge-probe": "knowledge-probe";
        agentic: "agentic";
        baseline: "baseline";
        observed: "observed";
    }>>;
    noAutoScope: z.ZodOptional<z.ZodBoolean>;
    noCache: z.ZodOptional<z.ZodBoolean>;
    noRemoteCache: z.ZodOptional<z.ZodBoolean>;
    publish: z.ZodOptional<z.ZodObject<{
        auto: z.ZodOptional<z.ZodEnum<{
            never: "never";
            always: "always";
            "full-runs": "full-runs";
        }>>;
        tag: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    reportStore: z.ZodOptional<z.ZodObject<{
        projectId: z.ZodOptional<z.ZodString>;
        dataset: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    searchMode: z.ZodOptional<z.ZodEnum<{
        off: "off";
        open: "open";
        "origin-only": "origin-only";
    }>>;
    skipEval: z.ZodOptional<z.ZodBoolean>;
    skipFetch: z.ZodOptional<z.ZodBoolean>;
    source: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
        projectId: z.ZodOptional<z.ZodString>;
        dataset: z.ZodOptional<z.ZodString>;
        baseUrl: z.ZodOptional<z.ZodString>;
        studioOrigin: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>]>>;
    summary: z.ZodOptional<z.ZodObject<{
        onRun: z.ZodOptional<z.ZodEnum<{
            never: "never";
            always: "always";
            auto: "auto";
        }>>;
    }, z.core.$strip>>;
    tasks: z.ZodOptional<z.ZodArray<z.ZodString>>;
    urls: z.ZodOptional<z.ZodArray<z.ZodString>>;
    presets: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>;
export type EvalConfig = z.infer<typeof EvalConfigSchema>;
