/** * Runner Heartbeat Module * * Sends periodic heartbeats to the Lia server to maintain presence. * This is what makes a runner "connected" - NOT the pairing token. * * Both local and VM runners use this same module. */ export type RunnerType = 'local' | 'vm'; export interface HeartbeatConfig { runnerType: RunnerType; capabilities?: string[]; onError?: (error: Error) => void; onSuccess?: () => void; } /** * Start the heartbeat loop */ export declare function startHeartbeat(config: HeartbeatConfig): void; /** * Stop the heartbeat loop */ export declare function stopHeartbeat(): void; /** * Get current heartbeat state (for diagnostics) */ export declare function getHeartbeatState(): { isRunning: boolean; runnerId: string | null; lastSuccess: Date | null; consecutiveFailures: number; };