import { TMap } from "@effect/core/stm/TMap/definition";
import { Tuple } from "@tsplus/stdlib/data/Tuple/definition";
import { STM } from "@effect/core/stm/STM/definition/base";
import { List } from "@tsplus/stdlib/collections/List/definition";
/**
 * Atomically updates all bindings using a transactional function.
 * @tsplus fluent ets/TMap transformSTM
 * @tsplus location "@effect/core/stm/TMap/operations/transformSTM"
 */
export declare function transformSTM_<K, V, R, E>(self: TMap<K, V>, f: (kv: Tuple<[K, V]>) => STM<R, E, Tuple<[K, V]>>): STM<R, E, void>;
/**
 * Atomically updates all bindings using a pure function.
 * @tsplus static ets/TMap/Aspects transformSTM
 * @tsplus pipeable ets/TMap transformSTM
 * @tsplus location "@effect/core/stm/TMap/operations/transformSTM"
 */
export declare const transformSTM: <K, V, R, E>(f: (kv: import("@tsplus/stdlib/data/Tuple").Tuple<[K, V]>) => import("../../STM").STM<R, E, import("@tsplus/stdlib/data/Tuple").Tuple<[K, V]>>) => (self: import("../definition").TMap<K, V>) => import("../../STM").STM<R, E, void>;
//# sourceMappingURL=transformSTM.d.ts.map