import type { ToolSession } from "../tools";
import type { JsStatusEvent } from "./js/shared/types";
import "../tools/review";
/** Synthetic bridge name reserved for the `agent()` helper across both runtimes. */
export declare const EVAL_AGENT_BRIDGE_NAME = "__agent__";
/** Hard recursion limit for eval-driven subagents. */
export declare const EVAL_AGENT_MAX_DEPTH = 3;
export interface EvalAgentBridgeOptions {
    session: ToolSession;
    signal?: AbortSignal;
    emitStatus?: (event: JsStatusEvent) => void;
}
export interface EvalAgentResult {
    text: string;
    details: {
        agent: string;
        id: string;
        model?: string | string[];
        structured: boolean;
    };
}
/**
 * Run a single subagent on behalf of an eval cell's `agent()` call.
 */
export declare function runEvalAgent(args: unknown, options: EvalAgentBridgeOptions): Promise<EvalAgentResult>;
