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 success value of the effects that the aspect is
 * applied to.
 * @tsplus fluent ets/Metrics/Metric trackSuccessWith
 * @tsplus location "@effect/core/io/Metrics/operations/trackSuccessWith"
 */
export declare function trackSuccessWith_<Type, In, In2, Out>(self: Metric<Type, In, Out>, f: (value: In2) => In): <R, E, A extends In2>(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 success value of the effects that the aspect is
 * applied to.
 * @tsplus static ets/Metrics/Metric/Aspects trackSuccessWith
 * @tsplus pipeable ets/Metrics/Metric trackSuccessWith
 * @tsplus location "@effect/core/io/Metrics/operations/trackSuccessWith"
 */
export declare const trackSuccessWith: <In, In2>(f: (value: In2) => In) => <Type, Out>(self: import("../definition").Metric<Type, In, Out>) => <R, E, A extends In2>(effect: import("../../Effect").Effect<R, E, A>, __tsplusTrace?: string) => import("../../Effect").Effect<R, E, A>;
//# sourceMappingURL=trackSuccessWith.d.ts.map