import { MetricListener } from "@effect/core/io/Metrics/MetricListener"; import { HashSet } from "@tsplus/stdlib/collections/HashSet/definition"; import { MetricPair } from "@effect/core/io/Metrics/MetricPair"; /** * @tsplus type effect/core/io/Metrics/MetricClient.Ops */ export interface MetricClientOps { } /** * A `MetricClient` provides the functionality to consume metrics produced by * Effect applications. `MetricClient` supports two ways of consuming metrics, * corresponding to the two ways that third party metrics services use metrics. * * First, metrics services can poll for the current state of all recorded * metrics using the `unsafeSnapshot` method, which provides a snapshot, as of a * point in time, of all metrics recorded by the Effect application. * * Second, metrics services can install a listener that will be notified every * time a metric is updated. * * `MetricClient` is a lower level interface and is intended to be used by * implementers of integrations with third party metrics services but not by end * users. */ export declare const MetricClient: MetricClientOps; /** * Unsafely installs the specified metric listener. * @tsplus static effect/core/io/Metrics/MetricClient.Ops unsafeInstallListener * @tsplus location "@effect/core/io/Metrics/MetricClient" */ export declare function unsafeInstallListener(listener: MetricListener): void; /** * Unsafely removes the specified metric listener. * @tsplus static effect/core/io/Metrics/MetricClient.Ops unsafeInstallListener * @tsplus location "@effect/core/io/Metrics/MetricClient" */ export declare function unsafeRemoveListener(listener: MetricListener): void; /** * Unsafely captures a snapshot of all metrics recorded by the application. * @tsplus static effect/core/io/Metrics/MetricClient.Ops unsafeSnapshot * @tsplus location "@effect/core/io/Metrics/MetricClient" */ export declare function unsafeSnapshot(): HashSet; //# sourceMappingURL=MetricClient.d.ts.map