import { Effect, Ref } from "effect"; import { Chat } from "effect/unstable/ai"; import type { AnyToolCall } from "./agent-tool-result.js"; import type { RunOptions } from "./agent.js"; import type { HandoffRunState } from "./handoff-state.js"; import { FrameworkFailure, type Outcome } from "../tools/tool-executor.js"; import { type Registry } from "../tools/tool-registry.js"; export declare const runHandoffTool: (input: { readonly turn: number; readonly call: AnyToolCall; readonly options: RunOptions; readonly handoffState: Ref.Ref; readonly chat: Chat.Service; readonly toolState: Ref.Ref<{ readonly registry: Registry; readonly activatedSkillBodies: Map; }>; readonly resolvingToolCallIds?: ReadonlyArray; }) => Effect.Effect; export declare const handoffDispatch: { (registry: Registry, input: { readonly options: RunOptions; readonly handoffState: Ref.Ref; readonly chat: Chat.Service; readonly toolState: Ref.Ref<{ readonly registry: Registry; readonly activatedSkillBodies: Map; }>; readonly resolvingToolCallIds?: ReadonlyArray; }): (request: { readonly turn: number; readonly call: AnyToolCall; }) => Effect.Effect | undefined; (request: { readonly turn: number; readonly call: AnyToolCall; }, registry: Registry, input: { readonly options: RunOptions; readonly handoffState: Ref.Ref; readonly chat: Chat.Service; readonly toolState: Ref.Ref<{ readonly registry: Registry; readonly activatedSkillBodies: Map; }>; readonly resolvingToolCallIds?: ReadonlyArray; }): Effect.Effect | undefined; };