import "../Operator/index.js"; /** * Async is a lightweight Effect data type that support as parameters: * - R: environment * - E: error * - A: output * * And additionally supports interruption */ import * as A from "@effect-ts/system/Async"; import * as E from "@effect-ts/system/Either"; import { NoSuchElementException } from "@effect-ts/system/GlobalExceptions"; import type { Has, Tag } from "@effect-ts/system/Has"; import type * as O from "@effect-ts/system/Option"; import type { URI } from "../Prelude/index.js"; import * as P from "../Prelude/index.js"; import type { Sync } from "../Sync/index.js"; export { branch as if, branch_ as if_ }; export declare type V = P.V<"R", "-"> & P.V<"E", "+">; export declare const Covariant: P.Covariant<[URI<"Async", {}>], V>; export declare const Any: P.Any<[URI<"Async", {}>], V>; export declare const AssociativeBoth: P.AssociativeBoth<[URI<"Async", {}>], V>; export declare const AssociativeFlatten: P.AssociativeFlatten<[URI<"Async", {}>], V>; export declare const IdentityBoth: P.IdentityBoth<[URI<"Async", {}>], V>; export declare const IdentityFlatten: P.IdentityFlatten<[URI<"Async", {}>], V>; export declare const Applicative: P.Applicative<[URI<"Async", {}>], V>; export declare const Monad: P.Monad<[URI<"Async", {}>], V>; export declare const Fail: P.FX.Fail<[URI<"Async", {}>], V>; export declare const Run: P.FX.Run<[URI<"Async", {}>], V>; export declare const either: (fa: A.Async) => A.Async>; export declare const getValidation: (A: import("../Associative/definition.js").Associative) => P.Applicative<[URI<"Async", {}>], P.V<"R", "-"> & P.Fix<"E", Z>>; export declare const Provide: P.FX.Provide<[URI<"Async", {}>], V>; export declare const Access: P.FX.Access<[URI<"Async", {}>], V>; export declare const gen: , any>, AEff>(f: (i: { (_: Tag): P.GenHKT, never, A>, A>; (_: O.Option, onNone: () => E): P.GenHKT, A_1>; (_: O.Option): P.GenHKT, A_2>; (_: E.Either): P.GenHKT, A_3>; (_: A.Async): P.GenHKT, A_4>; }) => Generator) => A.Async], unknown, "R", Eff["effect"]>, P.Infer<[URI<"Async", {}>], unknown, "E", Eff["effect"]>, AEff>; export declare function flatten(ffa: A.Async>): A.Async; export declare function fromEither(_: E.Either): A.Async | A.Async; export declare function fromSync(_: Sync): A.Async; export declare const match: (tag: N) => P.MatchFn<[URI<"Async", {}>], V, N>, matchIn: (tag: N) => P.MatchInFn<[URI<"Async", {}>], V, N>, matchMorph: (MorphADT: { tag: N; _A: X; }) => P.MatchMorphFn<[URI<"Async", {}>], V, N, X>, matchTag: P.MatchFn<[URI<"Async", {}>], V, "_tag">, matchTagIn: P.MatchInFn<[URI<"Async", {}>], V, "_tag">; /** * Conditionals */ declare const branch: , Y extends A.Async>(onTrue: () => X, onFalse: () => Y) => (predicate: boolean) => A.Async], V, "R", X | Y>, P.Infer<[URI<"Async", {}>], V, "E", X | Y>, P.Infer<[URI<"Async", {}>], V, "A", X | Y>>; declare const branch_: , Y extends A.Async>(predicate: boolean, onTrue: () => X, onFalse: () => Y) => A.Async], V, "R", X | Y>, P.Infer<[URI<"Async", {}>], V, "E", X | Y>, P.Infer<[URI<"Async", {}>], V, "A", X | Y>>; export * from "@effect-ts/system/Async"; //# sourceMappingURL=index.d.ts.map