import type { CancelTurnResult } from "#channel/types.js";
import type { HarnessSession } from "#harness/types.js";
import type { RuntimeRemoteAgentCallActionRequest } from "#runtime/actions/types.js";
import type { RuntimeSubagentRegistry } from "#runtime/subagents/registry.js";
import type { ResolvedRuntimeRemoteAgentNode } from "#runtime/types.js";
export declare function startRemoteAgentSession(input: {
    readonly action: RuntimeRemoteAgentCallActionRequest;
    readonly callbackBaseUrl: string | undefined;
    readonly callbackToken?: string;
    readonly remote: ResolvedRuntimeRemoteAgentNode;
    readonly session: HarnessSession;
}): Promise<string>;
export declare function cancelRemoteAgentTurn(input: {
    readonly remote: ResolvedRuntimeRemoteAgentNode;
    readonly sessionId: string;
}): Promise<CancelTurnResult>;
export declare function isRetryableRemoteAgentCancelError(error: unknown): boolean;
export declare function resolveRemoteAgentForAction(input: {
    readonly nodeId: string;
    readonly registry: RuntimeSubagentRegistry["subagentsByNodeId"];
    readonly remoteAgentName: string;
}): ResolvedRuntimeRemoteAgentNode;
