import { Effect, Ref, Schema } from "effect"; import { Chat, Tool } from "effect/unstable/ai"; import { HandoffAccepted, type HandoffRunState } from "../agent/handoff-state.js"; import type { RunOptions } from "../agent/agent.js"; import { type DriverInterpreter } from "../durable/driver-interpreter.js"; import { HandoffInput, type ContextProjection } from "./handoff-projection.js"; import type { HandoffTarget } from "./handoff-target.js"; declare const HandoffRejected_base: Schema.Class, import("effect/Cause").YieldableError>; export declare class HandoffRejected extends HandoffRejected_base { } export interface ExecuteHandoffInput { readonly catalog: import("./handoff-target.js").HandoffCatalogInterface; readonly turn: number; readonly toolCallId: string; readonly specialist: string; readonly params: unknown; readonly options: RunOptions; readonly handoffState: Ref.Ref; readonly chat: Chat.Service; readonly toolState: Ref.Ref<{ readonly registry: import("../tools/tool-registry.js").Registry; readonly activatedSkillBodies: Map; }>; readonly resolvingToolCallIds?: ReadonlyArray; readonly projection?: ContextProjection; readonly maxRepeatedEdge?: number; } export declare const executeSameRunHandoff: (input: ExecuteHandoffInput) => Effect.Effect; readonly handoffId: Schema.String; readonly source: Schema.String; readonly target: Schema.String; }, "Type">, import("../agent/agent.js").RunError, DriverInterpreter>; /** @experimental One same-run handoff tool specification. */ export interface HandoffToolSpecResult { readonly tool: Tool.Tool; readonly specialist: string; readonly projection?: ContextProjection; readonly maxRepeatedEdge?: number; } export declare const handoffToolSpec: { (options?: { readonly nameOverride?: string; readonly description?: string; readonly projection?: ContextProjection; readonly maxRepeatedEdge?: number; }): (handoffTarget: HandoffTarget) => HandoffToolSpecResult; (handoffTarget: HandoffTarget, options?: { readonly nameOverride?: string; readonly description?: string; readonly projection?: ContextProjection; readonly maxRepeatedEdge?: number; }): HandoffToolSpecResult; }; export {};