/** * Central coordinator for the Metrics Collection System. * * Registers collectors and sinks, runs periodic collection cycles, * assembles immutable MetricSnapshot objects, and dispatches them * to all registered sinks. */ import type { ILogger } from '../types/ILogger.js'; import type { IMetricCollector, IMetricsSink, MetricSnapshot, MetricsManagerConfig } from './types.js'; export declare class MetricsManager { private readonly collectors; private readonly sinks; private readonly config; private readonly logger; private timer; private snapshotCounter; private collectionsCompleted; private collectorErrorsTotal; private sinkErrorsTotal; private lastCollectionDurationMs; private closed; private readonly processStartTime; constructor(config: MetricsManagerConfig, logger: ILogger); registerCollector(collector: IMetricCollector): void; registerSink(sink: IMetricsSink): void; start(): void; collectNow(): Promise; private collectFromCollectors; private warnIfOversized; private warnIfSlow; private deepFreezeSnapshot; private dispatchToSinks; close(): Promise; getManagerStats(): { collectionsCompleted: number; collectorErrorsTotal: number; sinkErrorsTotal: number; lastCollectionDurationMs: number; collectorsRegistered: number; sinksRegistered: number; disabledCollectors: number; processStartTime: string; }; private assertOpen; private buildSelfMonitoringMetrics; } //# sourceMappingURL=MetricsManager.d.ts.map