import { type AgentEndMessage, type StaleQueuedWorkLifecycleKind, type StaleQueuedWorkPlan } from "./stale-queued-work-reducer.js"; export type { AgentEndMessage, StaleQueuedWorkEffect, StaleQueuedWorkLifecycleKind, StaleQueuedWorkPlan, } from "./stale-queued-work-reducer.js"; export interface StaleQueuedWorkGuard { lifecycleKind(): StaleQueuedWorkLifecycleKind; isBlockingContinuation(): boolean; noteRunnableWorkStarted(): void; noteStaleWorkStarted(goalId: string): void; planContextAbort(currentTurnIndex: number | null): StaleQueuedWorkPlan | null; planUserInputClearAbort(): StaleQueuedWorkPlan; planExtensionContinuationClearAbort(): StaleQueuedWorkPlan; planBeforeAgentStartClearAbort(): StaleQueuedWorkPlan; planTurnStart(): StaleQueuedWorkPlan; planToolExecutionEnd(): StaleQueuedWorkPlan; planSessionBeforeCompact(): StaleQueuedWorkPlan; planSessionCompact(): StaleQueuedWorkPlan; planTurnEnd(turnIndex: number | null): StaleQueuedWorkPlan; planAgentEnd(messages: AgentEndMessage[]): StaleQueuedWorkPlan; planSessionShutdown(): StaleQueuedWorkPlan; } export declare function createStaleQueuedWorkGuard(): StaleQueuedWorkGuard; //# sourceMappingURL=stale-queued-work-guard.d.ts.map