import type { ToolCall, ToolResult } from "../../types.js"; import type { SessionPlan } from "../../store/plan.js"; import type { BackgroundJob } from "../../tools/jobs.js"; export interface ResponderLinkageJobPatch { readonly taskId?: string | undefined; readonly parentTaskId?: string | undefined; readonly wakeOnCompletion: boolean; readonly responder: boolean; readonly monitor: Record; } export interface ResponderLinkagePorts { readonly loadPlan: () => Promise; readonly mutatePlan: (mutator: (draft: SessionPlan) => boolean) => Promise<{ ok: boolean; plan?: SessionPlan | undefined; } | undefined>; readonly linkJob: (jobId: string, patch: ResponderLinkageJobPatch) => BackgroundJob | undefined; readonly renderPlan: (plan: SessionPlan) => void; readonly setPendingSessionStatePlan: (plan: SessionPlan) => void; readonly notify: (level: "info" | "warn", message: string) => void; } export interface ResponderLinkageInput { readonly job: BackgroundJob; readonly call: ToolCall; readonly toolEventId: string; readonly delegationTaskId: string | undefined; readonly dispatchedTaskId: string | undefined; } export declare const responderLinkageNote: (jobId: string, responderTaskId: string, parentTaskId: string | undefined) => string; export declare const linkResponderJobToPlan: (ports: ResponderLinkagePorts, input: ResponderLinkageInput, result: ToolResult) => Promise;