import type { ExtensionAPI, ExtensionContext } from "@earendil-works/pi-coding-agent"; import type { FabricResultFormat } from "../config.js"; import type { FabricCallAudit } from "../core/action-registry.js"; import type { FabricExecutionResult } from "../execution-service.js"; import type { FabricInvocationActivityUpdate, FabricInvocationContext } from "../protocol.js"; import type { AgentSessionSeed, AgentToolResultMessage } from "../agents/types.js"; import type { FabricPrewalkPlanCheckpoint, FabricPrewalkReadiness, PrewalkController } from "./controller.js"; import type { PrewalkFsDrift } from "./fs-drift.js"; export interface BoundaryHandoffRunner { executeHandoff(args: Record, context: FabricInvocationContext, sessionSeed: AgentSessionSeed): Promise>; } export interface PendingFabricHandoff { kind: "explicit" | "prewalk-in-place" | "prewalk-trajectory"; args: Record; audit: FabricCallAudit; resultFormat: FabricResultFormat; triggerRef?: string; triggerSeq?: number; triggerFiles?: string[]; triggerFilesTruncated?: number; readiness?: FabricPrewalkReadiness; } export declare const claimFabricHandoff: (controller: PrewalkController, execution: FabricExecutionResult, sessionId: string, resultFormat: FabricResultFormat) => PendingFabricHandoff | FabricPrewalkPlanCheckpoint | undefined; export declare const claimFabricFsDriftHandoff: (controller: PrewalkController, execution: FabricExecutionResult, sessionId: string, drift: PrewalkFsDrift, resultFormat: FabricResultFormat) => PendingFabricHandoff | FabricPrewalkPlanCheckpoint | undefined; export declare const runFabricHandoffAtBoundary: (controller: PrewalkController, runner: BoundaryHandoffRunner, extension: ExtensionAPI, pending: PendingFabricHandoff, outerToolResult: AgentToolResultMessage, context: ExtensionContext, activity?: (update: FabricInvocationActivityUpdate) => void) => Promise>; //# sourceMappingURL=handoff.d.ts.map