import { MutableHashMap } from "@tsplus/stdlib/collections/mutable/MutableHashMap/definition"; import { MetricKey } from "@effect/core/io/Metrics/MetricKey"; import { MetricKeyType } from "@effect/core/io/Metrics/MetricKeyType"; import { MetricListener } from "@effect/core/io/Metrics/MetricListener"; import { HashSet } from "@tsplus/stdlib/collections/HashSet/definition"; import { MetricPair } from "@effect/core/io/Metrics/MetricPair"; import { MetricHooks } from "@effect/core/io/Metrics/MetricHooks"; import type { MetricHook } from "@effect/core/io/Metrics/MetricHook"; import type { _In, _Out } from "@effect/core/io/Metrics/MetricKeyType"; export declare class MetricRegistry { private map; private listeners; private listener; installListener(listener: MetricListener): void; removeListener(listener: MetricListener): void; snapshot(): HashSet; get>(key: MetricKey): MetricHook<[ typeof key["keyType"] ] extends [{ [_In]: () => infer In; }] ? In : never, [ typeof key["keyType"] ] extends [{ [_Out]: () => infer Out; }] ? Out : never>; getCounter(key: MetricKey.Counter): MetricHook.Counter; getGauge(key: MetricKey.Gauge): MetricHook.Gauge; getFrequency(key: MetricKey.Frequency): MetricHook.Frequency; getHistogram(key: MetricKey.Histogram): MetricHook.Histogram; getSummary(key: MetricKey.Summary): MetricHook.Summary; } //# sourceMappingURL=MetricRegistry.d.ts.map