import { FiberId } from "@effect/core/io/FiberId/definition"; import { Cause } from "@effect/core/io/Cause/definition"; import { RuntimeFlags } from "@effect/core/io/RuntimeFlags/definition"; import { Hash } from "@tsplus/stdlib/structure/Hash"; import { Equals } from "@tsplus/stdlib/structure/Equals"; import type { Effect } from "@effect/core/io/Effect/definition/base"; import { EffectURI } from "@effect/core/io/Effect/definition/base"; import type { FiberRuntime } from "@effect/core/io/Fiber/_internal/runtime"; import type { Running } from "@effect/core/io/Fiber/status"; export type ErasedEffect = ISync | IAsync | IOnSuccessAndFailure | IOnSuccess | IOnFailure | IUpdateRuntimeFlags | IUpdateRuntimeFlagsDynamic | IStateful | IWhileLoop | IYieldNow | IFailure | ISuccess | ICommit; export declare class ISync implements Effect { readonly evaluate: () => A; readonly [EffectURI]: { _R: (_: never) => never; _E: (_: never) => never; _A: (_: never) => never; }; readonly _tag = "Sync"; constructor(evaluate: () => A); } export interface ICommit extends Effect { readonly _tag: "ICommit"; readonly commit: Effect; } export declare class IAsync implements Effect { readonly register: (resume: (effect: Effect) => void) => void; readonly blockingOn: FiberId; readonly [EffectURI]: { _R: (_: never) => never; _E: (_: never) => never; _A: (_: never) => never; }; readonly _tag = "Async"; constructor(register: (resume: (effect: Effect) => void) => void, blockingOn: FiberId); } export declare class IOnSuccessAndFailure implements Effect { readonly first: Effect; readonly successK: (a: A) => Effect; readonly failK: (e: Cause) => Effect; readonly [EffectURI]: { _R: (_: never) => never; _E: (_: never) => never; _A: (_: never) => never; }; readonly _tag = "OnSuccessAndFailure"; constructor(first: Effect, successK: (a: A) => Effect, failK: (e: Cause) => Effect); } export declare class IOnSuccess implements Effect { readonly first: Effect; readonly successK: (a: A) => Effect; readonly [EffectURI]: { _R: (_: never) => never; _E: (_: never) => never; _A: (_: never) => never; }; readonly _tag = "OnSuccess"; constructor(first: Effect, successK: (a: A) => Effect); } export declare class IOnFailure implements Effect { readonly first: Effect; readonly failK: (a: Cause) => Effect; readonly [EffectURI]: { _R: (_: never) => never; _E: (_: never) => never; _A: (_: never) => never; }; readonly _tag = "OnFailure"; constructor(first: Effect, failK: (a: Cause) => Effect); } export declare class IUpdateRuntimeFlags implements Effect { readonly update: RuntimeFlags.Patch; readonly [EffectURI]: { _R: (_: never) => never; _E: (_: never) => never; _A: (_: never) => never; }; readonly _tag = "UpdateRuntimeFlags"; constructor(update: RuntimeFlags.Patch); } export declare class IUpdateRuntimeFlagsDynamic implements Effect { readonly update: RuntimeFlags.Patch; readonly scope: (oldRuntimeFlags: RuntimeFlags) => Effect; readonly [EffectURI]: { _R: (_: never) => never; _E: (_: never) => never; _A: (_: never) => never; }; readonly _tag = "UpdateRuntimeFlagsWithin"; constructor(update: RuntimeFlags.Patch, scope: (oldRuntimeFlags: RuntimeFlags) => Effect); } export declare class IUpdateRuntimeFlagsInterruptible implements IUpdateRuntimeFlagsDynamic { readonly effect: Effect; readonly [EffectURI]: { _R: (_: never) => never; _E: (_: never) => never; _A: (_: never) => never; }; readonly _tag = "UpdateRuntimeFlagsWithin"; readonly update: RuntimeFlags.Patch; readonly scope: (oldRuntimeFlags: RuntimeFlags) => Effect; constructor(effect: Effect); } export declare class IUpdateRuntimeFlagsUninterruptible implements IUpdateRuntimeFlagsDynamic { readonly effect: Effect; readonly [EffectURI]: { _R: (_: never) => never; _E: (_: never) => never; _A: (_: never) => never; }; readonly _tag = "UpdateRuntimeFlagsWithin"; readonly update: RuntimeFlags.Patch; readonly scope: (oldRuntimeFlags: RuntimeFlags) => Effect; constructor(effect: Effect); } export declare class IStateful implements Effect { readonly onState: (fiber: FiberRuntime, status: Running) => Effect; readonly [EffectURI]: { _R: (_: never) => never; _E: (_: never) => never; _A: (_: never) => never; }; readonly _tag = "Stateful"; constructor(onState: (fiber: FiberRuntime, status: Running) => Effect); } export declare class IWhileLoop implements Effect { readonly check: () => boolean; readonly body: () => Effect; readonly process: (a: A) => void; readonly [EffectURI]: { _R: (_: never) => never; _E: (_: never) => never; _A: (_: never) => never; }; readonly _tag = "WhileLoop"; constructor(check: () => boolean, body: () => Effect, process: (a: A) => void); } export declare class IYieldNow implements Effect { readonly [EffectURI]: { _R: (_: never) => never; _E: (_: never) => never; _A: (_: never) => never; }; readonly _tag = "YieldNow"; } export declare class IFailure implements Effect { readonly cause: Cause; readonly [EffectURI]: { _R: (_: never) => never; _E: (_: never) => never; _A: (_: never) => never; }; readonly _tag = "Failure"; constructor(cause: Cause); [Hash.sym](): number; [Equals.sym](that: unknown): boolean; } export declare class ISuccess implements Effect { readonly value: A; readonly [EffectURI]: { _R: (_: never) => never; _E: (_: never) => never; _A: (_: never) => never; }; readonly _tag = "Success"; constructor(value: A); [Hash.sym](): number; [Equals.sym](that: unknown): boolean; } //# sourceMappingURL=primitives.d.ts.map