/**
 * Consumer-verification lane — the consumer-supplied counterpart of the
 * W0198 symbol-preflight lane. A verifier module in the consumer's repo
 * mechanically checks each candidate response, and its verdict feeds the
 * `code-correctness` dimension as its own weighted sibling assertion —
 * per D0047, never a deduction riding on the rubric's score.
 *
 * @see docs/decisions/D0047-deterministic-symbol-preflight-lane-separation.md
 * @see docs/design-docs/two-stage-grader-symbol-preflight.md — the W0198 template
 */
/**
 * Per-response verdict returned by the consumer's verifier module.
 * `applicable: false` emits no report — the LLM rubric keeps full
 * authority for that test (the lane speaks only when it knows).
 */
export type ConsumerVerificationVerdict = {
    readonly applicable: false;
} | {
    readonly applicable: true;
    /** Mechanical pass/fail from the consumer's check. */
    readonly pass: boolean;
    /** Score in `[0, 1]` merged into `code-correctness`. */
    readonly score: number;
    /** Human-readable explanation surfaced on the synthesized assertion. */
    readonly reason: string;
};
/**
 * Persisted verification result, one per (run, mode, task, model) — the
 * `consumerVerification` artifact payload and the shape the scoring bridge
 * merges into `code-correctness`.
 */
export interface ConsumerVerificationReport {
    /** The verifier module that produced the verdict ({@link ConsumerVerificationConfig.module}). */
    readonly verifier: string;
    readonly pass: boolean;
    /** Score in `[0, 1]`. */
    readonly score: number;
    readonly reason: string;
    /** Wall-clock duration of the verifier call, in ms. */
    readonly durationMs: number;
}
/**
 * Config for the consumer-verification lane — the `consumerVerification`
 * key of `EvalConfigSchema`, threaded through `ResolvedConfig`.
 */
export interface ConsumerVerificationConfig {
    /** Absolute path or `file://` URL of the consumer's verifier module. */
    readonly module: string;
    /**
     * Verification's share of `code-correctness`, in `[0, 1]`; the remainder
     * belongs to the LLM rubric (and preflight, when both lanes report).
     * Default {@link DEFAULT_CONSUMER_VERIFICATION_CODE_CORRECTNESS_WEIGHT}.
     */
    readonly codeCorrectnessWeight?: number;
    /**
     * Per-call verifier timeout in ms. Default
     * {@link DEFAULT_CONSUMER_VERIFICATION_TIMEOUT_MS}.
     */
    readonly timeoutMs?: number;
}
/** Default verification share of `code-correctness` when no weight is configured. */
export declare const DEFAULT_CONSUMER_VERIFICATION_CODE_CORRECTNESS_WEIGHT = 0.4;
/** Default per-call verifier timeout — generous enough for a real compile. */
export declare const DEFAULT_CONSUMER_VERIFICATION_TIMEOUT_MS = 120000;
