import { Metric } from "@effect/core/io/Metrics/definition";
import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Effect } from "@effect/core/io/Effect/definition";
/**
 * Updates the metric with the specified update message. For example, if the
 * metric were a counter, the update would increment the method by the
 * provided amount.
 * @tsplus fluent ets/Metrics/Metric update
 * @tsplus location "@effect/core/io/Metrics/operations/update"
 */
export declare function update_<Type, In, Out>(self: Metric<Type, In, Out>, input: LazyArg<In>, __tsplusTrace?: string): Effect<never, never, void>;
/**
 * Updates the metric with the specified update message. For example, if the
 * metric were a counter, the update would increment the method by the
 * provided amount.
 * @tsplus static ets/Metrics/Metric/Aspects update
 * @tsplus pipeable ets/Metrics/Metric update
 * @tsplus location "@effect/core/io/Metrics/operations/update"
 */
export declare const update: <In>(input: import("@tsplus/stdlib/data/Function").LazyArg<In>, __tsplusTrace?: string) => <Type, Out>(self: import("../definition").Metric<Type, In, Out>) => import("../../Effect").Effect<never, never, void>;
//# sourceMappingURL=update.d.ts.map