import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; export type EffectClass = Effect.Effect & { new (_: never): Shape; }; export declare const effectClass: { (impl: Effect.Effect): EffectClass; (): (impl: Effect.Effect) => EffectClass; }; export declare const taggedFunction: , Fn extends (...args: any[]) => any>(tag: Tag, fn: Fn) => Tag & Fn; export declare const isYieldableEffect: (value: unknown) => value is Effect.Effect; export type YieldableEffectLike = Effect.Effect | { asEffect: () => Effect.Effect; [Symbol.iterator]: () => Iterator; }; export declare const isEffectClassLike: (value: unknown) => value is YieldableEffectLike; export declare const isYieldableEffectLike: (value: unknown) => value is YieldableEffectLike; export type UnwrapEffect = T extends Effect.Effect ? A : T; export type ToEffectInterface = { raw: T; } & { [K in keyof T]: T[K] extends (...args: any[]) => any ? (...args: Parameters) => Effect.Effect>> : T[K]; }; export declare const toEffectInterface: (raw: T) => ToEffectInterface; //# sourceMappingURL=effect.d.ts.map