import type { DatabaseSync } from "node:sqlite"; import type { Context } from "@/types"; import type { HeartbeatTaskDbRecord } from "./databaseTypes.js"; /** * Heartbeat tasks repository backed by SQLite with write-through caching. * Expects: schema migrations already applied for tasks_heartbeat. */ export declare class HeartbeatTasksRepository { private readonly db; private readonly tasksById; private readonly taskLocks; private readonly cacheLock; private readonly createLock; private readonly runLock; private allTasksLoaded; constructor(db: DatabaseSync); findById(id: string): Promise; findMany(ctx: Context): Promise; findAll(): Promise; create(record: HeartbeatTaskDbRecord): Promise; update(id: string, data: Partial): Promise; delete(id: string): Promise; recordRun(runAt: number): Promise; private taskCacheSet; private taskLoadById; private taskParse; private taskLockForId; } //# sourceMappingURL=heartbeatTasksRepository.d.ts.map