import { TMap } from "@effect/core/stm/TMap/definition";
import { Tuple } from "@tsplus/stdlib/data/Tuple/definition";
import { USTM } from "@effect/core/stm/STM/definition/base";
/**
 * merges the key/value pair matching the specified predicate, and uses the
 * provided function to extract a value out of it.
 * @tsplus fluent ets/TMap merge
 * @tsplus location "@effect/core/stm/TMap/operations/merge"
 */
export declare function merge_<K, V>(self: TMap<K, V>, k: K, v: V, f: (values: Tuple<[V, V]>) => V): USTM<V>;
/**
 * merges the key/value pair matching the specified predicate, and uses the
 * provided function to extract a value out of it.
 * @tsplus static ets/TMap/Aspects merge
 * @tsplus pipeable ets/TMap merge
 * @tsplus location "@effect/core/stm/TMap/operations/merge"
 */
export declare const merge: <K, V>(k: K, v: V, f: (values: import("@tsplus/stdlib/data/Tuple").Tuple<[V, V]>) => V) => (self: import("../definition").TMap<K, V>) => import("../../STM").USTM<V>;
//# sourceMappingURL=merge.d.ts.map