/**
 * compiler-to-yaml.ts — Serialize compiled Promptfoo config to YAML files.
 *
 * This is the bridge between the compiler pipeline (in-memory
 * CompiledPromptfooConfig) and the RunEvalStep which reads
 * YAML config files from disk.
 *
 * @see packages/eval/src/orchestration/steps/run-eval-step.ts — consumer
 */
import type { Logger, ModeCompileResult } from "../../_vendor/ailf-core/index.d.ts";
/** Options for writing compiled config to YAML */
export interface WriteCompiledConfigOptions {
    /** Root directory of the eval package */
    rootDir: string;
    /** Grader provider ID (e.g., "openai:chat:gpt-5") */
    graderProvider: string;
    /** Max concurrency for evaluation */
    maxConcurrency?: number;
    /** Logger instance */
    logger?: Logger;
}
/**
 * Write compiled literacy results to the same YAML files the legacy
 * path produces, so RunEvalStep can consume them unchanged.
 *
 * Writes:
 *   - tasks/.expanded.yaml (gold + baseline test entries for baseline mode)
 *   - tasks/.expanded.agentic.yaml (gold-only entries for agentic mode)
 * Write a single Promptfoo config YAML file for any non-literacy mode.
 *
 * This is the generic writer that works with any ModeCompileResult.
 * Literacy uses its own multi-file writer below.
 */
export declare function writeCompiledModeConfig(result: ModeCompileResult, mode: string, options: WriteCompiledConfigOptions): void;
/**
 * Write three literacy-specific Promptfoo config YAML files.
 *
 *   - promptfooconfig.yaml (baseline config)
 *   - promptfooconfig.agentic.yaml (agentic config)
 *   - promptfooconfig.observed.yaml (observed config — same structure as baseline)
 */
export declare function writeCompiledLiteracyConfigs(baselineResult: ModeCompileResult, agenticResult: ModeCompileResult, providers: {
    baseline: Record<string, unknown>[];
    agentic: Record<string, unknown>[];
    observed: Record<string, unknown>[];
}, options: WriteCompiledConfigOptions): void;
