/** * OpenKernel — Auto Mesh Update * * Version gossip across the mesh. Each node announces its version on connect and * heartbeat; when a node hears of a newer version from a trusted peer it can * (optionally) self-update via the configured channel. Off by default — updating * is opt-in per node, and only accepted from a hub/relay, never from a satellite. */ import type { Logger } from '../types.js'; import type { NodeRole, UpdateAnnounce } from './types.js'; /** Compare two dotted versions. Returns >0 if a>b, <0 if a Promise; } export declare class AutoUpdate { private opts; private latestSeen; constructor(opts: AutoUpdateOptions); /** This node's announcement. */ announce(): UpdateAnnounce; /** * Process a peer's announce. Returns true if an update was (or would be) * triggered. Only honours announcements from hub/relay roles. */ onAnnounce(announce: UpdateAnnounce, fromRole: NodeRole): Promise; currentVersion(): string; }