import type { ToolSession } from "../../tools";
import { type EvalBudgetResult } from "../budget-bridge";
import { type EvalConcurrencyResult } from "../concurrency-bridge";
import type { JsStatusEvent } from "./shared/types";
export type { JsStatusEvent } from "./shared/types";
interface ToolBridgeOptions {
    session: ToolSession;
    signal?: AbortSignal;
    emitStatus?: (event: JsStatusEvent) => void;
}
type ToolValue = string | EvalBudgetResult | EvalConcurrencyResult | {
    text: string;
    details?: unknown;
    images?: Array<{
        mimeType: string;
        data: string;
    }>;
    hasError?: boolean;
};
export declare function callSessionTool(name: string, args: unknown, options: ToolBridgeOptions): Promise<ToolValue>;
