import type { Client } from "#client/client.js";
import type { EveEvalCase, EveEvalRequirement, EveEvalTargetHandle, EveEvalTask, EveEvalTaskResult } from "#evals/types.js";
/**
 * Options for executing one eval case.
 */
interface ExecuteCaseOptions {
    readonly client: Client;
    /** Receives each `ctx.log` line as it is written (used by `--verbose`). */
    readonly onLog?: (message: string) => void;
    readonly requirements?: readonly EveEvalRequirement[];
    readonly target: EveEvalTargetHandle;
    readonly testCase: EveEvalCase;
    readonly task?: EveEvalTask;
    readonly timeoutMs?: number;
}
/**
 * Executes one eval case against an Eve agent target.
 *
 * Data cases and scripted cases share the same imperative run context. The
 * legacy `prompt` and `messages` task forms are sugar over `ctx.session.send`.
 */
export declare function executeCase(options: ExecuteCaseOptions): Promise<EveEvalTaskResult>;
export {};
