import { type GoalTransitionEffect } from "./goal-transition-effects.js"; import type { GoalEntrySource, ThreadGoal } from "./types.js"; export { applyGoalTransitionEffects, type GoalTransitionEffect, type GoalTransitionEffectHandlers, } from "./goal-transition-effects.js"; export type GoalTransitionRequest = { kind: "set"; nextGoal: ThreadGoal; source: GoalEntrySource; } | { kind: "clear"; source: GoalEntrySource; } | { kind: "abort_pause"; } | { kind: "resume_active"; } | { kind: "recovery_pause"; recoveryReason: string; } | { kind: "recovery_shutdown_pause"; recoveryReason: string; } | { kind: "runtime_accounting"; nextGoal: ThreadGoal; receiptId?: string; }; type GoalTransitionPlanBase = { source: GoalEntrySource; receiptId?: string; beforePersist: GoalTransitionEffect[]; afterPersist: GoalTransitionEffect[]; }; export type GoalTransitionPlan = (GoalTransitionPlanBase & { persist: "skip" | "defer" | "set"; nextGoal: ThreadGoal; }) | (GoalTransitionPlanBase & { persist: "clear"; nextGoal: null; }); export declare function reloadGoalRuntimeEffects(previousGoalId: string | null, reconstructed: ThreadGoal | null): GoalTransitionEffect[]; export declare function planGoalTransition(current: ThreadGoal | null, request: GoalTransitionRequest): GoalTransitionPlan; //# sourceMappingURL=goal-transition.d.ts.map