import { Tag } from "@tsplus/stdlib/service/Tag";
import { STM } from "@effect/core/stm/STM/definition/base";
/**
 * STMfully accesses the specified service in the environment of the
 * effect.
 *
 * Especially useful for creating "accessor" methods on services' companion
 * objects.
 * @tsplus static ets/STM/Ops serviceWithSTM
 * @tsplus location "@effect/core/stm/STM/operations/serviceWithSTM"
 */
export declare function serviceWithSTM<T>(tag: Tag<T>): <R, E, A>(f: (a: T) => import("../definition").STM<R, E, A>) => import("../definition").STM<T | R, E, A>;
//# sourceMappingURL=serviceWithSTM.d.ts.map