/** * Lift a computation from the `IO` monad * * @since 2.10.0 */ import { Chain, Chain1, Chain2, Chain2C, Chain3, Chain3C, Chain4 } from './Chain.js'; import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from './HKT.js'; import { IO } from './IO.js'; /** * @category model * @since 2.10.0 */ export interface FromIO { readonly URI: F; readonly fromIO: (fa: IO) => HKT; } /** * @category model * @since 2.10.0 */ export interface FromIO1 { readonly URI: F; readonly fromIO: (fa: IO) => Kind; } /** * @category model * @since 2.10.0 */ export interface FromIO2 { readonly URI: F; readonly fromIO: (fa: IO) => Kind2; } /** * @category model * @since 2.10.0 */ export interface FromIO2C { readonly URI: F; readonly _E: E; readonly fromIO: (fa: IO) => Kind2; } /** * @category model * @since 2.10.0 */ export interface FromIO3 { readonly URI: F; readonly fromIO: (fa: IO) => Kind3; } /** * @category model * @since 2.10.0 */ export interface FromIO3C { readonly URI: F; readonly _E: E; readonly fromIO: (fa: IO) => Kind3; } /** * @category model * @since 2.10.0 */ export interface FromIO4 { readonly URI: F; readonly fromIO: (fa: IO) => Kind4; } /** * @since 2.10.0 */ export declare function fromIOK(F: FromIO4): , B>(f: (...a: A) => IO) => (...a: A) => Kind4; export declare function fromIOK(F: FromIO3): , B>(f: (...a: A) => IO) => (...a: A) => Kind3; export declare function fromIOK(F: FromIO3C): , B>(f: (...a: A) => IO) => (...a: A) => Kind3; export declare function fromIOK(F: FromIO2): , B>(f: (...a: A) => IO) => (...a: A) => Kind2; export declare function fromIOK(F: FromIO2C): , B>(f: (...a: A) => IO) => (...a: A) => Kind2; export declare function fromIOK(F: FromIO1): , B>(f: (...a: A) => IO) => (...a: A) => Kind; export declare function fromIOK(F: FromIO): , B>(f: (...a: A) => IO) => (...a: A) => HKT; /** * @since 2.10.0 */ export declare function chainIOK(F: FromIO4, M: Chain4): (f: (a: A) => IO) => (first: Kind4) => Kind4; export declare function chainIOK(F: FromIO3, M: Chain3): (f: (a: A) => IO) => (first: Kind3) => Kind3; export declare function chainIOK(F: FromIO3C, M: Chain3C): (f: (a: A) => IO) => (first: Kind3) => Kind3; export declare function chainIOK(F: FromIO2, M: Chain2): (f: (a: A) => IO) => (first: Kind2) => Kind2; export declare function chainIOK(F: FromIO2C, M: Chain2C): (f: (a: A) => IO) => (first: Kind2) => Kind2; export declare function chainIOK(F: FromIO1, M: Chain1): (f: (a: A) => IO) => (first: Kind) => Kind; export declare function chainIOK(F: FromIO, M: Chain): (f: (a: A) => IO) => (first: HKT) => HKT; /** * @since 2.10.0 */ export declare function chainFirstIOK(F: FromIO4, M: Chain4): (f: (a: A) => IO) => (first: Kind4) => Kind4; export declare function chainFirstIOK(F: FromIO3, M: Chain3): (f: (a: A) => IO) => (first: Kind3) => Kind3; export declare function chainFirstIOK(F: FromIO3C, M: Chain3C): (f: (a: A) => IO) => (first: Kind3) => Kind3; export declare function chainFirstIOK(F: FromIO2, M: Chain2): (f: (a: A) => IO) => (first: Kind2) => Kind2; export declare function chainFirstIOK(F: FromIO2C, M: Chain2C): (f: (a: A) => IO) => (first: Kind2) => Kind2; export declare function chainFirstIOK(F: FromIO1, M: Chain1): (f: (a: A) => IO) => (first: Kind) => Kind; export declare function chainFirstIOK(F: FromIO, M: Chain): (f: (a: A) => IO) => (first: HKT) => HKT;