import { MetricState } from "@effect/core/io/Metrics/MetricState"; /** * @tsplus type effect/core/io/Metrics/MetricHook */ export interface MetricHook { readonly update: (input: In) => void; readonly get: () => Out; } /** * @tsplus type effect/core/io/Metrics/MetricHook.Ops */ export interface MetricHookOps { } export declare const MetricHook: MetricHookOps; export declare namespace MetricHook { type Root = MetricHook; type Untyped = MetricHook; type Counter = MetricHook; type Gauge = MetricHook; type Frequency = MetricHook; type Histogram = MetricHook; type Summary = MetricHook; } /** * @tsplus static effect/core/io/Metrics/MetricHook.Ops __call * @tsplus location "@effect/core/io/Metrics/MetricHook" */ export declare function make(update: (input: In) => void, get: () => Out): MetricHook; /** * @tsplus static effect/core/io/Metrics/MetricHook.Aspects onUpdate * @tsplus pipeable effect/core/io/Metrics/MetricHook onUpdate * @tsplus location "@effect/core/io/Metrics/MetricHook" */ export declare function onUpdate(f: (input: In) => void): (self: MetricHook) => MetricHook; //# sourceMappingURL=MetricHook.d.ts.map