/** * Lift a computation from the `IO` monad * * @since 2.10.0 */ import { Chain, Chain1, Chain2, Chain2C, Chain3, Chain3C, Chain4 } from './Chain' import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from './HKT' import { IO } from './IO' /** * @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