import { type EventAdapterIdV3 } from "../../events/v3/adapter-id.js"; import { type CoordinationGenerationViewV3 } from "../../events/v3/coordination-view.js"; import { type Heartbeat } from "./heartbeat-reader.js"; /** * Heartbeat files are disposable V3 caches. These bindings prevent a stale * row from a prior generation from being mistaken for current authority. */ export interface V3HeartbeatMaterialization extends Heartbeat { schema_version: 2; v3_instance_id: `inst_${string}`; v3_generation_id: `gen_${string}`; v3_projection_event_id: string; v3_task_state: "set" | "cleared"; } /** Read the live coordination rows through the hard-cut ledger route. */ export declare function readLiveCoordinationRows(coordRoot: string): V3HeartbeatMaterialization[]; /** Read one current row from the authority-safe V3 projection. */ export declare function readLiveCoordinationRow(coordRoot: string, nativeInstanceId: string): V3HeartbeatMaterialization | null; /** * Resolve the adapter from the current authority-safe V3 generation. A live * V3 generation is stronger evidence than a missing or stale heartbeat, so * callers must never substitute another adapter when this function succeeds. */ export declare function liveCoordinationAdapterV3(coordRoot: string, nativeInstanceId: string): EventAdapterIdV3 | null; export declare function isCurrentV3HeartbeatCache(cache: Heartbeat | null | undefined, generation: CoordinationGenerationViewV3): cache is Heartbeat; export declare function projectHeartbeatV3(coordRoot: string, generation: CoordinationGenerationViewV3, cache: Heartbeat | undefined, nativeInstanceId: string | undefined, parent?: CoordinationGenerationViewV3): V3HeartbeatMaterialization; export declare function observedAdapterV3(generation: CoordinationGenerationViewV3): string | undefined; export declare function isAdapterV3(value: string | undefined): value is EventAdapterIdV3; //# sourceMappingURL=live-coordination-view.d.ts.map