import type { InteractionAcknowledgement, InteractionResponseCommand } from "@tangle-network/agent-interface"; import type { SandboxSessionLike } from "./tangle-types.js"; export interface TangleInteractionResponderOptions { session: SandboxSessionLike; /** The session the bound ask must belong to. */ sessionId: string; environmentId: string; } /** * Answer one exact interaction through the Sandbox interaction command route. * * The route carries the canonical command whole and returns the deployment's * own durable record, so this adapter keeps no resolution record of its own: * the deployment decides `accepted`, `already_resolved_same`, and * `already_resolved_different`, and its answer survives a restart of this * process and a rebuilt environment object. The capability this responder is * gated on is exactly that durable record. * * Two verdicts stay here, because the route cannot produce them as an * acknowledgement: a command bound to another environment or session, and an * answer the outstanding ask's spec rejects. */ export declare function tangleInteractionResponder(options: TangleInteractionResponderOptions): (command: InteractionResponseCommand, operation?: { signal?: AbortSignal; }) => Promise;