import { Maybe } from '../Maybe'; import { Result } from '../Result'; import * as _IO from './'; export declare type UIO = IO; export declare class IO { private readonly value; static succeed: (a: A_1) => IO; static unit: IO; static fail: (e: E_1) => IO; static die: (e: E_1) => IO; static sync: (lazy: () => A_1) => IO; static syncFail: (lazy: () => E_1) => IO; static suspend: (lazy: () => IO) => IO; static async: (onDone: (onError: (e: E_1) => unit, onSuccess: (a: A_1) => unit, onDie: (e: unknown) => unit) => unit) => IO; static fromResult: (result: Result) => IO; static fromMaybe: (fallback: E_1) => (ma: Maybe) => IO; static fromNullable: (fallback: E_1) => (a: A_1 | null | undefined) => IO; static tryCatch: (f: () => A_1) => IO; static fromPromise: (lazy: () => Promise) => IO; static fromPromiseOrDie: (lazy: () => Promise) => UIO; static sleep: (duration: number) => IO; static lift: (f: (a: A_1) => B) => (a: A_1) => IO; static traverse: (f: (a: A_1) => IO) => (args: A_1[]) => IO; static forEach: (args: A_1[]) => (f: (a: A_1) => IO) => IO; static ioify(f: (cb: (e: L | null | undefined, r?: R) => void) => void): () => IO; static ioify(f: (a: A, cb: (e: L | null | undefined, r?: R) => void) => void): (a: A) => IO; static ioify(f: (a: A, b: B, cb: (e: L | null | undefined, r?: R) => void) => void): (a: A, b: B) => IO; static ioify(f: (a: A, b: B, c: C, cb: (e: L | null | undefined, r?: R) => void) => void): (a: A, b: B, c: C) => IO; static ioify(f: (a: A, b: B, c: C, d: D, cb: (e: L | null | undefined, r?: R) => void) => void): (a: A, b: B, c: C, d: D) => IO; static ioify(f: (a: A, b: B, c: C, d: D, e: E, cb: (e: L | null | undefined, r?: R) => void) => void): (a: A, b: B, c: C, d: D, e: E) => IO; private constructor(); private to_IO; map: (f: (a: A) => B) => IO; flatMap: (f: (a: A) => IO) => IO; flatMapW: (f: (a: A) => IO) => IO; mapError: (f: (e: E) => E1) => IO; catchError: (f: (e: E) => IO) => IO; handleError: (f: (e: E) => A) => IO; flatHandleError: (f: (e: E) => IO) => IO; bimap: (f: (e: E) => E1, g: (a: A) => B) => IO; tap: (f: (a: A) => unit) => IO; tapError: (f: (e: E) => unit) => IO; biTap: (f: (e: E) => unit, g: (a: A) => unit) => IO; flatTap: (f: (a: A) => UIO) => IO; flatTapError: (f: (e: E) => UIO) => IO; refineErrorOrDie: (f: (e: E) => Maybe) => IO; biFlatTap: (f: (e: E) => UIO, g: (a: A) => UIO) => IO; flip: () => IO; delay: (duration: number) => IO; filter: (p: (a: A) => boolean, e: E) => IO; refine: (p: (a: A) => a is B, e: E | E1) => IO; filterWith: (p: (a: A) => boolean, f: (a: A) => E1) => IO; unsafeRunAsync: (onFailure: (e: E) => unit, onSuccess: (a: A) => unit, onDie: (e: unknown) => unit) => unit; unsafeRunAsyncOrDie: (onFailure: (e: E) => unit, onSuccess: (a: A) => unit) => unit; toPromise: () => Promise; orDie: () => UIO; toUnit: () => IO; nothing: () => IO; merge: () => UIO; fold: (f: (e: E) => B, g: (a: A) => B) => UIO; static do: , AEff>(f: (i: (_: IO) => _IO.GenIO) => Generator) => IO<_IO._E, AEff>; } declare type unit = void; export {};