import { ComposedMetricMapping, ComposedMetricParams } from '../../../../model'; import { PolarisRuntime } from '../../../../runtime'; import { ComposedMetricComputationConfig, ComposedMetricsManager, ComposedMetricsManagerConfig } from '../composed-metrics-manager'; import { ModifiableComposedMetricsManager } from './default-composed-metric-mapping-watch-handler'; /** * The default implementation of {@link ComposedMetricsManager} that is usable with all orchestrators * and `ComposedMetricCollectors`. */ export declare class DefaultComposedMetricsManager implements ComposedMetricsManager, ModifiableComposedMetricsManager { private polarisRuntime; private config; private stopper; private intervalMs; /** Used to watch the `ComposedMetricMapping` kinds. */ private watchManager; /** Indexes the active metrics by their `ComposedMetricMapping` keys. */ private activeComposedMetrics; constructor(polarisRuntime: PolarisRuntime); get isActive(): boolean; startWatching(config: ComposedMetricsManagerConfig): Promise; stopWatching(): void; getWatchedComposedMetricMappingKinds(): ComposedMetricComputationConfig[]; /** * Adds the specified {@link ComposedMetricMapping} to this manager to periodically compute the metric. * * @param mapping The {@link ComposedMetricMapping} to be added. * @param computationConfig The {@link ComposedMetricComputationConfig} for the mapping's composed metric type. */ addComposedMetricMapping(mapping: ComposedMetricMapping, computationConfig: ComposedMetricComputationConfig): void; /** * Removes the {@link ComposedMetricMapping} with the specified `key`. * * @param key The {@link ComposedMetricMapping} to be deleted (identified through its metadata). */ removeComposedMetricMapping(mapping: ComposedMetricMapping): void; private getComposedMetricMappingKey; private executeLoopIteration; private disposeActiveMetric; private disposeAllActiveMetrics; }