// ets_tracing: off import type { Layer } from "@effect-ts/core/Effect/Layer" import type { DerivedFunctions } from "@effect-ts/core/Has" import type { Compute, UnionToIntersection } from "@effect-ts/core/Utils" declare module "@effect-ts/system/Has" { export interface Has { /** * @ets_rewrite_method pipe from "smart:pipe" */ pipe(this: Self, f: (self: Self) => Ret): Ret /** * @ets_rewrite_method succeed from "@effect-ts/core/Effect/Layer" */ toLayer(this: Has): Layer> } export interface Tag { /** * @ets_rewrite_method pipe from "smart:pipe" */ pipe(this: Self, f: (self: Self) => Ret): Ret /** * @ets_rewrite_method deriveFunctions from "@effect-ts/core/Has" */ deriveLifted)[]>( this: Tag, ...keys: Ks ): Compute< UnionToIntersection< { [k in keyof Ks]: Ks[k] extends keyof DerivedFunctions ? { [H in Ks[k]]: DerivedFunctions[Ks[k]] } : never }[number] >, "flat" > } }