/**
 * Shared types for the literacy mode handler.
 */
import type { PromptfooPrompt, PromptfooProvider, PromptfooTestCase } from "../../promptfoo-compiler.js";
export type { PreflightRubricContext, RubricResolutionInput, } from "../../rubric-resolution.js";
import type { PreflightRubricContext, RubricResolutionInput } from "../../rubric-resolution.js";
/** Options for compiling a literacy task */
export interface LiteracyCompileOptions {
    /** Grader provider for LLM-graded assertions */
    graderProvider?: string;
    /** Root directory (for resolving file:// doc paths) */
    rootDir?: string;
    /** Evaluation sub-mode — controls which entries are generated */
    evalMode?: import("../../../normalize-mode.js").LiteracyEvalSubMode;
    /** Model providers to include */
    models?: {
        id: string;
        label: string;
        config?: Record<string, unknown>;
    }[];
    /** Rubric config (templates, weights, profiles) — loaded from rubrics config */
    rubricConfig?: RubricResolutionInput;
    /**
     * Grader context policy. When `"with-docs"` and the task declares
     * `context.docs`, the canonical doc content is read from
     * `<rootDir>/contexts/canonical/<task.id>.md` and injected into the
     * Promptfoo `rubricPrompt`.
     */
    graderContext?: "rubric-only" | "with-docs";
    /**
     * W0198 Phase 6 — when supplied, the `code-correctness` rubric is
     * prefixed with a "DETERMINISTIC PREFLIGHT" instruction telling the
     * grader to treat the deterministic lane's existence verdicts as
     * ground truth. Sourced from the package-surface manifest at compile
     * time; absence collapses cleanly to the pre-W0198 rubric.
     */
    preflightContext?: PreflightRubricContext;
}
/** Result of compiling a single literacy task */
export interface LiteracyCompileResult {
    /** Promptfoo provider configs */
    providers: PromptfooProvider[];
    /** Compiled test cases (gold + optional baseline) */
    tests: PromptfooTestCase[];
    /** Prompts for evaluation */
    prompts: PromptfooPrompt[];
    /** Warnings generated during compilation */
    warnings: string[];
}
