export interface IPlaygroundExecutionAttempt { /** Signal passed through every cancellable step owned by this attempt. */ readonly signal: AbortSignal; /** Whether this attempt may still commit messages or state. */ isCurrent(): boolean; /** Release the active slot if this is still the current attempt. */ finish(): boolean; } /** * Owns the cancellation and stale-write boundary for Execute attempts. * * React state stays in `PlaygroundShell`; this small state machine keeps the * supersession rules independently testable and makes every invalidation path * use the same abort behavior. */ export declare class PlaygroundExecutionLifecycle { private active; private epoch; begin(): IPlaygroundExecutionAttempt; /** * Abort the active attempt and make its callbacks stale. * * Returns whether an active attempt was canceled. */ invalidate(reason: string): boolean; }