import type { HardwareSnapshot, NodeIdentity, NodeStatus, PeerInfo } from './types.js'; export declare class TelemetryCollector { private lastCpu; private lastNet; private cpuTimes; private cpuPercent; /** Per-core % from a single snapshot (approximate, no per-core delta kept). */ private perCore; private network; /** Usage of the primary filesystem (root on POSIX, system drive on Windows) via * fs.statfs (Node ≥18.15, no native deps). Never throws. */ private diskUsage; /** CPU temperature in °C from the Linux thermal zone (Pi/SBC). null elsewhere. */ private temperatureC; collect(): HardwareSnapshot; } /** A 0–100 load figure derived from a snapshot (used by the compute router). */ export declare function loadFromSnapshot(hw: HardwareSnapshot | undefined): number; /** Build the neutral NodeStatus entry the mesh map renders. */ export declare function nodeStatusFromPeer(peer: PeerInfo): NodeStatus; /** Local node's own status entry. */ export declare function selfNodeStatus(identity: NodeIdentity, hw: HardwareSnapshot, manifest: { version: string; capabilities: NodeStatus['capabilities']; commands: string[]; }, site?: string): NodeStatus;