import type { ExtensionAPI, ExtensionContext } from "@earendil-works/pi-coding-agent"; import { type GoalRecoveryMachineState } from "./recovery-machine.js"; import type { StaleQueuedWorkGuard } from "./stale-queued-work-guard.js"; import { type ThreadGoal } from "./types.js"; interface ContinuationSchedulerDeps { pi: Pick; getGoal: () => ThreadGoal | null; getRecoveryState: () => GoalRecoveryMachineState; staleQueuedWorkGuard: StaleQueuedWorkGuard; getCurrentTurnIndex: () => number | null; getAgentRunSequence: () => number; canContinue?: (ctx: ExtensionContext) => boolean; reserveContinuation?: (ctx: ExtensionContext) => boolean; } interface PostCompactContinuationOptions { turnIndex: number | null; agentRunSequence: number; prepareContinuation?: () => boolean; } export declare function createContinuationScheduler(deps: ContinuationSchedulerDeps): { bindPassthroughContinuationInputToTurn: (turnIndex: number) => void; clearContinuationState: () => void; clearContinuationStateFor: (goalId: string) => void; clearContinuationTimer: () => void; clearPostCompactContinuationFallback: () => void; clearPassthroughContinuationInput: () => void; continuationGoalIdFromRuntimePrompt: (prompt: string) => string | null; markContinuationQueued: (goalId: string) => void; maybeContinue: (ctx: ExtensionContext) => void; maybeContinueAfterCurrentEvent: (ctx: ExtensionContext) => void; maybeContinueAfterPostCompactFallback: (ctx: ExtensionContext, options: PostCompactContinuationOptions) => void; notePassthroughContinuationInput: (text: string) => void; }; export {}; //# sourceMappingURL=continuation-scheduler.d.ts.map