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";
/**
 * Atomically folds using a pure function.
 * @tsplus fluent ets/TMap fold
 * @tsplus location "@effect/core/stm/TMap/operations/fold"
 */
export declare function fold_<K, V, A>(self: TMap<K, V>, zero: A, op: (acc: A, kv: Tuple<[K, V]>) => A): USTM<A>;
/**
 * Atomically folds using a pure function.
 * @tsplus static ets/TMap/Aspects fold
 * @tsplus pipeable ets/TMap fold
 * @tsplus location "@effect/core/stm/TMap/operations/fold"
 */
export declare const fold: <K, V, A>(zero: A, op: (acc: A, kv: import("@tsplus/stdlib/data/Tuple").Tuple<[K, V]>) => A) => (self: import("../definition").TMap<K, V>) => import("../../STM").USTM<A>;
//# sourceMappingURL=fold.d.ts.map