import * as tOf from '../../typeclass/of'; import * as tFunctor from '../../typeclass/functor'; import * as tBiFunctor from '../../typeclass/bifunctor'; import * as tApplicative from '../../typeclass/applicative'; import * as tSemiAlternative from '../../typeclass/semialternative'; import * as tMonad from '../../typeclass/monad'; import * as tBiFlatMap from '../../typeclass/biflatmap'; import type { Effect, TEffect } from './effect.types'; import * as O from '../option'; import * as R from '../result'; import * as IO from '../io'; import * as IOO from '../io-option'; import * as IOR from '../io-result'; import * as A from '../async'; import * as AO from '../async-option'; import * as AR from '../async-result'; import * as T from '../task'; import * as TO from '../task-option'; import * as TR from '../task-result'; import * as RIO from '../reader-io'; import * as RIOO from '../reader-io-option'; import * as RIOR from '../reader-io-result'; import * as RT from '../reader-task'; import * as RTO from '../reader-task-option'; export declare const ask: () => Effect; export declare const asks: (f: (env: Env) => A) => Effect; export declare const local: (f: (env: Env2) => Env1) => (fa: Effect) => Effect; export declare const askReader: (f: (env: Env1) => Effect) => Effect; export declare const ok: (a: A) => Effect; export declare const err: (e: E) => Effect; export declare const Of: tOf.Of; export declare const Functor: tFunctor.Functor; export declare const BiFunctor: tBiFunctor.BiFunctor; export declare const Applicative: tApplicative.Applicative; export declare const Monad: tMonad.Monad; export declare const BiFlatMap: tBiFlatMap.BiFlatMap; export declare const SemiAlternative: tSemiAlternative.SemiAlternative; /****************************** * Context free constructors * ******************************/ export declare const fromOption: (onErr: () => E) => (o: O.Option) => Effect; export declare const fromResult: (r: R.Result) => Effect; export declare const fromIO: (io: IO.IO) => Effect; export declare const fromIOOption: (onErr: () => E) => (ioo: IOO.IOOption) => Effect; export declare const fromIOResult: (ior: IOR.IOResult) => Effect; export declare const fromAsync: (a: A.Async) => Effect; export declare const fromAsyncOption: (onErr: () => E) => (ao: AO.AsyncOption) => Effect; export declare const fromAsyncResult: (ar: AR.AsyncResult) => Effect; export declare const fromTask: (io: T.Task) => Effect; export declare const fromTaskOption: (onErr: () => E) => (aioo: TO.TaskOption) => Effect; export declare const fromTaskResult: (aior: TR.TaskResult) => Effect; /****************************** * Context aware constructors * ******************************/ export declare const fromReader: (f: (env: Env) => A) => Effect; export declare const fromReaderIO: (io: RIO.ReaderIO) => Effect; export declare const fromReaderIOOption: (onErr: () => E) => (ioo: RIOO.ReaderIOOption) => Effect; export declare const fromReaderIOResult: (ior: RIOR.ReaderIOResult) => Effect; export declare const fromAsyncReader: (f: (env: Env) => A.Async) => Effect; export declare const fromReaderTask: (io: RT.ReaderTask) => Effect; export declare const fromReaderTaskOption: (onErr: () => E) => (ioo: RTO.ReaderTaskOption) => Effect; export declare const tryCatch: ($catch: (e: unknown) => E1) => (fa: Effect) => Effect; export declare const of: (a: A) => Effect; export declare const map: (args_0: (args_0: A1) => A2) => (args_0: Effect) => Effect; export declare const mapCompose: (args_0: (args_0: A1) => A2) => (args_0: Effect, B3, B4>) => Effect, B3, B4>; export declare const flap: (args_0: A1) => (args_0: Effect<(args_0: A1) => B1, B2, B3>) => Effect; export declare const as: (args_0: A1) => (args_0: Effect) => Effect; export declare const tap: (args_0: (args_0: A1) => void) => (args_0: Effect) => Effect; export declare const bimap: (args_0: (args_0: A1) => A2, args_1: (args_0: A3) => A4) => (args_0: Effect) => Effect; export declare const mapLeft: (args_0: (args_0: A1) => A2) => (args_0: Effect) => Effect; export declare const mapRight: (args_0: (args_0: A1) => A2) => (args_0: Effect) => Effect; export declare const mapErr: (args_0: (args_0: A1) => A2) => (args_0: Effect) => Effect; export declare const bitap: (args_0: (args_0: A1) => void, args_1: (args_0: A2) => void) => (args_0: Effect) => Effect; export declare const tapLeft: (args_0: (args_0: A1) => void) => (args_0: Effect) => Effect; export declare const tapRight: (args_0: (args_0: A1) => void) => (args_0: Effect) => Effect; export declare const tapErr: (args_0: (args_0: A1) => void) => (args_0: Effect) => Effect; export declare const ap: (args_0: Effect) => (args_0: Effect<(args_0: A1) => B1, B2, B3>) => Effect; export declare const liftA2: (args_0: (args_0: A1, args_1: A2) => A3) => (args_0: Effect) => (args_0: Effect) => Effect; export declare const product: (args_0: Effect) => (args_0: Effect) => Effect<[A1, B1], A2 | B2, A3 & B3>; export declare const productMany: (args_0: Effect) => (args_0: Effect[]) => Effect; export declare const flatMap: (args_0: (args_0: A1) => Effect) => (args_0: Effect) => Effect; export declare const andThen: (args_0: (args_0: A1) => Effect) => (args_0: Effect) => Effect; export declare const chain: (args_0: (args_0: A1) => Effect) => (args_0: Effect) => Effect; export declare const flatten: (args_0: Effect, A4, A5>) => Effect; export declare const biFlatMap: (args_0: (args_0: A1) => Effect, args_1: (args_0: A5) => Effect) => (args_0: Effect) => Effect; export declare const orElse: (args_0: (args_0: A1) => Effect) => (args_0: Effect) => Effect; export declare const alt: (args_0: () => Effect) => (args_0: Effect) => Effect; export declare const or: (args_0: Effect) => (args_0: Effect) => Effect; export declare const pluck: (k: K) => (args_0: Effect) => Effect;