export interface TurnHeartbeat { /** Throttled beat driven by the engine stream. Safe to call per delta. */ beat(): void; stop(): void; } /** * Keep `lastActivity` fresh while a turn is in flight, so the status reconciler * can tell a live turn from a gateway that died mid-turn. Self-disarms when the * session is deleted: `engine.run` may not resolve for minutes, and we must not * keep writing `running` rows for a session the user already removed. * * The same beat renews the lease on the Todo this session is working, so the * claim an agent holds stays alive on the evidence that it is still working * rather than on the agent remembering to say so. */ export declare function armTurnHeartbeat(sessionId: string, attemptToken: string): TurnHeartbeat; //# sourceMappingURL=heartbeat.d.ts.map