import { TSet } from "@effect/core/stm/TSet/definition";
import { USTM } from "@effect/core/stm/STM/definition/base";
/**
 * Atomically folds using a pure function.
 * @tsplus fluent ets/TSet fold
 * @tsplus location "@effect/core/stm/TSet/operations/fold"
 */
export declare function fold_<A, B>(self: TSet<A>, zero: B, op: (acc: B, a: A) => B): USTM<B>;
/**
 * Atomically folds using a pure function.
 * @tsplus static ets/TSet/Aspects fold
 * @tsplus pipeable ets/TSet fold
 * @tsplus location "@effect/core/stm/TSet/operations/fold"
 */
export declare const fold: <A, B>(zero: B, op: (acc: B, a: A) => B) => (self: import("../definition").TSet<A>) => import("../../STM").USTM<B>;
//# sourceMappingURL=fold.d.ts.map