import { STM } from "@effect/core/stm/STM/definition/base";
/**
 * "Peeks" at both sides of an transactional effect.
 * @tsplus fluent ets/STM tapBoth
 * @tsplus location "@effect/core/stm/STM/operations/tapBoth"
 */
export declare function tapBoth_<R, E, A, R2, E2, X, R3, E3, X1>(self: STM<R, E, A>, f: (e: E) => STM<R2, E2, X>, g: (a: A) => STM<R3, E3, X1>): STM<R | R2 | R3, E | E2 | E3, A>;
/**
 * "Peeks" at both sides of an transactional effect.
 * @tsplus static ets/STM/Aspects tapBoth
 * @tsplus pipeable ets/STM tapBoth
 * @tsplus location "@effect/core/stm/STM/operations/tapBoth"
 */
export declare const tapBoth: <E, A, R2, E2, X, R3, E3, X1>(f: (e: E) => import("../definition").STM<R2, E2, X>, g: (a: A) => import("../definition").STM<R3, E3, X1>) => <R>(self: import("../definition").STM<R, E, A>) => import("../definition").STM<R | R2 | R3, E | E2 | E3, A>;
//# sourceMappingURL=tapBoth.d.ts.map