import { type Clock, type KernelPaths, type MonitorRecord } from "./types.js"; /** * Public read of the projected monitor summary. Mutations reload from journal under lock. */ export declare function readMonitor(paths: KernelPaths): MonitorRecord | null; /** * Ensure a journaled monitor view exists for the active run. * Requires an active journaled campaign; first complete monitor view is journaled. * No disk-only authority. */ export declare function ensureMonitor(paths: KernelPaths, clock: Clock, githubPollSeconds?: number): MonitorRecord; export interface AcquireMonitorLeaseOptions { readonly paths: KernelPaths; readonly clock: Clock; readonly owner: string; readonly processInstanceId: string; readonly pid: number; readonly leaseMs?: number; readonly expectedGeneration?: number; } export declare function acquireMonitorLease(options: AcquireMonitorLeaseOptions): MonitorRecord; export declare function heartbeatMonitor(paths: KernelPaths, clock: Clock, owner: string, expectedGeneration: number, leaseMs?: number): MonitorRecord; export declare function releaseMonitorLease(paths: KernelPaths, clock: Clock, owner: string, expectedGeneration: number): MonitorRecord; export declare function advanceMonitorTimers(paths: KernelPaths, clock: Clock, owner: string, expectedGeneration: number, which: "github" | "pane_health" | "both"): MonitorRecord; /** Caller holds the kernel lock. */ export declare function advanceMonitorTimersUnlocked(paths: KernelPaths, clock: Clock, owner: string, expectedGeneration: number, which: "github" | "pane_health" | "both"): MonitorRecord; export declare function setWakeCursor(paths: KernelPaths, clock: Clock, owner: string, expectedGeneration: number, cursor: string): MonitorRecord; /** Caller holds the kernel lock. */ export declare function setWakeCursorUnlocked(paths: KernelPaths, clock: Clock, owner: string, expectedGeneration: number, cursor: string): MonitorRecord; export declare function parseMonitorRecord(value: unknown, label: string): MonitorRecord;