import { STM } from "@effect/core/stm/STM/definition/base";
import { Tag } from "@tsplus/stdlib/service/Tag";
/**
 * Updates the service with the required service entry.
 * @tsplus fluent ets/STM updateService
 * @tsplus location "@effect/core/stm/STM/operations/updateService"
 */
export declare function updateService_<R, E, A, T, T1 extends T>(self: STM<R, E, A>, tag: Tag<T>, f: (service: T) => T1): STM<R | T, E, A>;
/**
 * Updates the service with the required service entry.
 * @tsplus static ets/STM/Aspects updateService
 * @tsplus pipeable ets/STM updateService
 * @tsplus location "@effect/core/stm/STM/operations/updateService"
 */
export declare const updateService: <T, T1 extends T>(tag: import("@tsplus/stdlib/service/Tag").Tag<T>, f: (service: T) => T1) => <R, E, A>(self: import("../definition").STM<R, E, A>) => import("../definition").STM<R | T, E, A>;
//# sourceMappingURL=updateService.d.ts.map