import type { Client } from "#client/client.js";
import type { AssertionResult, EveEval, EveEvalTargetHandle, EveEvalTaskResult } from "#evals/types.js";
/**
 * Options for executing one eval's task.
 */
interface ExecuteTaskOptions {
    readonly client: Client;
    readonly evaluation: EveEval;
    /** Receives each `t.log` line as it is written (used by `--verbose`). */
    readonly onLog?: (message: string) => void;
    readonly target: EveEvalTargetHandle;
    readonly timeoutMs?: number;
}
/**
 * Task result plus the assertions the eval's `test(t)` recorded. `error` is
 * set when the `test` body threw (e.g. a failed `expectOk()` or a bespoke
 * `throw`); the partial run is still captured so recorded assertions report.
 */
export interface ExecuteTaskResult {
    readonly result: EveEvalTaskResult;
    readonly assertions: readonly AssertionResult[];
    readonly error?: string;
    readonly skipReason?: string;
}
/**
 * Executes one eval's `test(t)` against an eve agent target: drives the
 * session(s), captures the run, then finalizes the recorded assertions
 * against the completed task result.
 */
export declare function executeTask(options: ExecuteTaskOptions): Promise<ExecuteTaskResult>;
export {};
