import type { HrTime } from '@opentelemetry/api'; import type { Accumulation, Aggregator } from '../aggregator/types'; import type { MetricData } from '../export/MetricData'; import type { InstrumentDescriptor } from '../InstrumentDescriptor'; import type { Maybe } from '../utils'; import type { MetricCollectorHandle } from './MetricCollector'; import { AttributeHashMap } from './HashMap'; /** * Internal interface. * * Provides unique reporting for each collector. Allows synchronous collection * of metrics and reports given temporality values. */ export declare class TemporalMetricProcessor> { private _aggregator; private _unreportedAccumulations; private _reportHistory; constructor(aggregator: Aggregator, collectorHandles: MetricCollectorHandle[]); /** * Builds the {@link MetricData} streams to report against a specific MetricCollector. * @param collector The information of the MetricCollector. * @param collectors The registered collectors. * @param instrumentDescriptor The instrumentation descriptor that these metrics generated with. * @param currentAccumulations The current accumulation of metric data from instruments. * @param collectionTime The current collection timestamp. * @returns The {@link MetricData} points or `null`. */ buildMetrics(collector: MetricCollectorHandle, instrumentDescriptor: InstrumentDescriptor, currentAccumulations: AttributeHashMap, collectionTime: HrTime): Maybe; private _stashAccumulations; private _getMergedUnreportedAccumulations; static merge>(last: AttributeHashMap, current: AttributeHashMap, aggregator: Aggregator): AttributeHashMap; /** * Calibrate the reported metric streams' startTime to lastCollectionTime. Leaves * the new stream to be the initial observation time unchanged. */ static calibrateStartTime>(last: AttributeHashMap, current: AttributeHashMap, lastCollectionTime: HrTime): AttributeHashMap; } //# sourceMappingURL=TemporalMetricProcessor.d.ts.map