import type { AgentSession } from "@earendil-works/pi-coding-agent"; export type AgentPauseState = "idle" | "pause-requested" | "paused" | "resuming"; export type AgentPauseControllerHost = { showToast(message: string, kind: "success" | "error" | "warning" | "info"): void; render(): void; isCurrentSession(session: AgentSession): boolean; }; /** * Implements a turn-boundary pause without interrupting an active tool batch. * * The pinned SDK exposes Agent.shouldStopAfterTurn and Agent.continue(), but not a * session-level continuation method. The small private adapter below mirrors the * bookkeeping in AgentSession._runAgentPrompt so resumed runs still get retries, * compaction, queue draining, isStreaming, and agent_settled behavior. */ export declare class AgentPauseController { private readonly host; private readonly records; constructor(host: AgentPauseControllerHost); bind(session: AgentSession): void; state(session: AgentSession | undefined): AgentPauseState; statusWidgetText(session: AgentSession | undefined): string; statusWidgetActive(session: AgentSession | undefined): boolean; toggle(session: AgentSession | undefined): Promise; private resume; private setState; private finishSettlement; private canContinue; private sessionInternals; }