import type { Context } from "@/types"; import type { Storage } from "../../storage/storage.js"; import type { AgentSystem } from "../agents/agentSystem.js"; import type { ConfigModule } from "../config/configModule.js"; import type { EngineEventBus } from "../ipc/events.js"; import type { HeartbeatCreateTaskArgs, HeartbeatDefinition } from "./heartbeatTypes.js"; export type HeartbeatsOptions = { config: ConfigModule; storage: Storage; eventBus: EngineEventBus; agentSystem: AgentSystem; intervalMs?: number; }; /** * Coordinates heartbeat scheduling for engine runtime. * Posts heartbeat prompts directly to the agent system. */ export declare class Heartbeats { private readonly eventBus; private readonly agentSystem; private readonly scheduler; constructor(options: HeartbeatsOptions); start(): Promise; stop(): void; listTasks(): Promise; runNow(args?: { ids?: string[]; }): Promise<{ ran: number; taskIds: string[]; }>; addTask(ctx: Context, args: HeartbeatCreateTaskArgs): Promise; removeTask(ctx: Context, taskId: string): Promise; } //# sourceMappingURL=heartbeats.d.ts.map