import type { HasUnify } from "../Utils/index.js"; import { _A, _E, _R, _S1, _S2, _U, _W } from "./commons.js"; import type { Instruction } from "./primitives.js"; export declare const EffectURI = "Effect"; export declare type EffectURI = typeof EffectURI; export interface Effect extends HasUnify { readonly [_U]: EffectURI; readonly [_E]: () => E; readonly [_A]: () => A; readonly [_R]: (_: R) => void; readonly [_S1]: (_: unknown) => void; readonly [_S2]: () => unknown; readonly [_W]: () => unknown; } export declare type IO = Effect; export declare type RIO = Effect; export declare type UIO = Effect; export declare abstract class Base implements Effect { readonly [_S1]: (_: unknown) => void; readonly [_S2]: () => unknown; readonly [_W]: () => unknown; readonly [_U]: EffectURI; readonly [_E]: () => E; readonly [_A]: () => A; readonly [_R]: (_: R) => void; } /** * @ets_optimize identity */ export declare function instruction(self: Effect): Instruction; //# sourceMappingURL=effect.d.ts.map