import { Metric } from "@effect/core/io/Metrics/definition";
import { Effect } from "@effect/core/io/Effect/definition";
/**
 * Returns an aspect that will update this metric with the result of applying
 * the specified function to the error value of the effects that the aspect is
 * applied to.
 * @tsplus fluent ets/Metrics/Metric trackErrorWith
 * @tsplus location "@effect/core/io/Metrics/operations/trackErrorWith"
 */
export declare function trackErrorWith_<Type, In, In2, Out>(self: Metric<Type, In, Out>, f: (error: In2) => In): <R, E extends In2, A>(effect: import("../../Effect").Effect<R, E, A>, __tsplusTrace?: string) => import("../../Effect").Effect<R, E, A>;
/**
 * Returns an aspect that will update this metric with the result of applying
 * the specified function to the error value of the effects that the aspect is
 * applied to.
 * @tsplus static ets/Metrics/Metric/Aspects trackErrorWith
 * @tsplus pipeable ets/Metrics/Metric trackErrorWith
 * @tsplus location "@effect/core/io/Metrics/operations/trackErrorWith"
 */
export declare const trackErrorWith: <In, In2>(f: (error: In2) => In) => <Type, Out>(self: import("../definition").Metric<Type, In, Out>) => <R, E extends In2, A>(effect: import("../../Effect").Effect<R, E, A>, __tsplusTrace?: string) => import("../../Effect").Effect<R, E, A>;
//# sourceMappingURL=trackErrorWith.d.ts.map