import { FailureType } from './types.js'; export interface HeartbeatCheckDefinition { id: FailureType; description: string; } export interface HeartbeatState { lastRunAt: number; lastWindowKey: string; lastExecutedCheckIds: string[]; updatedAt: number; } export interface ConversationHeartbeatResult { executed: boolean; reason: 'executed' | 'window_not_elapsed' | 'window_dedup' | 'no_checks'; executedCheckIds: string[]; } export interface ConversationHeartbeatOptions { heartbeatFilePath?: string; stateFilePath?: string; windowMs?: number; now?: () => number; executeCheck?: (check: HeartbeatCheckDefinition) => Promise | void; logger?: Pick; } export declare function parseHeartbeatChecklist(markdown: string): HeartbeatCheckDefinition[]; export declare class ConversationHeartbeatEngine { private readonly heartbeatFilePath; private readonly stateFilePath; private readonly windowMs; private readonly now; private readonly executeCheck; private readonly logger; constructor(options?: ConversationHeartbeatOptions); onInboundMessage(): Promise; private loadChecklist; } //# sourceMappingURL=conversation-heartbeat.d.ts.map