import type { GoalRef, SessionGoal } from '../../types/goal/index.js'; import type { SessionId } from '../../types/ids/index.js'; export interface ActiveSessionGoal extends GoalRef { readonly sessionId: SessionId; } /** * Process-local permission for automatic goal continuation. * * Durable `phase: active` describes goal state; it does not grant a restarted * process permission to spend another model turn. Hosts arm explicitly after * direct create/resume and use exact disarm to keep an old turn from revoking * a newer activation. */ export declare class SessionGoalActivation { private readonly active; arm(goal: Pick): ActiveSessionGoal; get(sessionId: SessionId): ActiveSessionGoal | null; isArmed(sessionId: SessionId, ref: GoalRef): boolean; /** Disarm unconditionally, or only if the caller still owns the exact ref. */ disarm(sessionId: SessionId, expected?: GoalRef): boolean; clear(): void; } //# sourceMappingURL=activation.d.ts.map