import type { Client } from "#client/client.js";
import type { EveEval, EveEvalResult, EveEvalTargetHandle } from "#evals/types.js";
/**
 * Options for executing one eval.
 */
export interface ExecuteEvalOptions {
    readonly evaluation: EveEval;
    /** Receives `t.log` lines as the eval runs (used by `--verbose`). */
    readonly onLog?: (message: string) => void;
    readonly target: EveEvalTargetHandle;
    /** Overrides the eval's own `timeoutMs` when set (CLI `--timeout`). */
    readonly timeoutMs?: number;
    /**
     * Pre-configured client for communicating with the eve agent.
     * The CLI constructs this once with the appropriate auth and headers,
     * and every eval creates fresh sessions from it.
     */
    readonly client: Client;
}
/**
 * Executes one eval end to end: runs `test(t)`, collects its assertions, and
 * computes the verdict.
 */
export declare function executeEval(options: ExecuteEvalOptions): Promise<EveEvalResult>;
