import { MetricField, Snapshot } from './contract'; import { Options } from './config'; export declare const SUBSCRIBED_PATHS: string[]; export declare const DYNAMIC_PREFIXES: readonly ["propulsion.", "tanks.", "electrical.generators."]; export interface Diagnosis { code: 'ok' | 'instruments-off' | 'energy-only' | 'no-data'; message: string; since_ts: number | null; } export declare class MetricsState { private opts; private paths; private gustAccum; lastDeltaTs: number | null; constructor(opts: Options); ingest(path: string, value: unknown, ts: number, source?: string): boolean; private resolveSource; private resolveConcept; private measuredAt; private numeric; private str; private conceptNumeric; snapshot(now: number, flushGust: boolean, freshnessMs?: number): Snapshot; private dynamicPathCount; dynamicPaths(now: number): Record; dynamicPathAges(now: number): Record; coreFieldAges(now: number): Partial>; numericDynamicPaths(now: number, freshnessMs?: number): Record; pathAges(now: number): Record; diagnose(now: number, hasElectricalData: boolean): Diagnosis; }