/** * Lift a computation from the `Task` monad * * @since 2.10.0 */ import { Chain, Chain1, Chain2, Chain2C, Chain3, Chain3C, Chain4 } from './Chain.js'; import { FromIO, FromIO1, FromIO2, FromIO2C, FromIO3, FromIO3C, FromIO4 } from './FromIO.js'; import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from './HKT.js'; import { Task } from './Task.js'; /** * @category model * @since 2.10.0 */ export interface FromTask extends FromIO { readonly fromTask: (fa: Task) => HKT; } /** * @category model * @since 2.10.0 */ export interface FromTask1 extends FromIO1 { readonly fromTask: (fa: Task) => Kind; } /** * @category model * @since 2.10.0 */ export interface FromTask2 extends FromIO2 { readonly fromTask: (fa: Task) => Kind2; } /** * @category model * @since 2.10.0 */ export interface FromTask2C extends FromIO2C { readonly fromTask: (fa: Task) => Kind2; } /** * @category model * @since 2.10.0 */ export interface FromTask3 extends FromIO3 { readonly fromTask: (fa: Task) => Kind3; } /** * @category model * @since 2.10.0 */ export interface FromTask3C extends FromIO3C { readonly fromTask: (fa: Task) => Kind3; } /** * @category model * @since 2.10.0 */ export interface FromTask4 extends FromIO4 { readonly fromTask: (fa: Task) => Kind4; } /** * @since 2.10.0 */ export declare function fromTaskK(F: FromTask4): , B>(f: (...a: A) => Task) => (...a: A) => Kind4; export declare function fromTaskK(F: FromTask3): , B>(f: (...a: A) => Task) => (...a: A) => Kind3; export declare function fromTaskK(F: FromTask3C): , B>(f: (...a: A) => Task) => (...a: A) => Kind3; export declare function fromTaskK(F: FromTask2): , B>(f: (...a: A) => Task) => (...a: A) => Kind2; export declare function fromTaskK(F: FromTask2C): , B>(f: (...a: A) => Task) => (...a: A) => Kind2; export declare function fromTaskK(F: FromTask1): , B>(f: (...a: A) => Task) => (...a: A) => Kind; export declare function fromTaskK(F: FromTask): , B>(f: (...a: A) => Task) => (...a: A) => HKT; /** * @since 2.10.0 */ export declare function chainTaskK(F: FromTask4, M: Chain4): (f: (a: A) => Task) => (first: Kind4) => Kind4; export declare function chainTaskK(F: FromTask3, M: Chain3): (f: (a: A) => Task) => (first: Kind3) => Kind3; export declare function chainTaskK(F: FromTask3C, M: Chain3C): (f: (a: A) => Task) => (first: Kind3) => Kind3; export declare function chainTaskK(F: FromTask2, M: Chain2): (f: (a: A) => Task) => (first: Kind2) => Kind2; export declare function chainTaskK(F: FromTask2C, M: Chain2C): (f: (a: A) => Task) => (first: Kind2) => Kind2; export declare function chainTaskK(F: FromTask1, M: Chain1): (f: (a: A) => Task) => (first: Kind) => Kind; export declare function chainTaskK(F: FromTask, M: Chain): (f: (a: A) => Task) => (first: HKT) => HKT; /** * @since 2.10.0 */ export declare function chainFirstTaskK(F: FromTask4, M: Chain4): (f: (a: A) => Task) => (first: Kind4) => Kind4; export declare function chainFirstTaskK(F: FromTask3, M: Chain3): (f: (a: A) => Task) => (first: Kind3) => Kind3; export declare function chainFirstTaskK(F: FromTask3C, M: Chain3C): (f: (a: A) => Task) => (first: Kind3) => Kind3; export declare function chainFirstTaskK(F: FromTask2, M: Chain2): (f: (a: A) => Task) => (first: Kind2) => Kind2; export declare function chainFirstTaskK(F: FromTask2C, M: Chain2C): (f: (a: A) => Task) => (first: Kind2) => Kind2; export declare function chainFirstTaskK(F: FromTask1, M: Chain1): (f: (a: A) => Task) => (first: Kind) => Kind; export declare function chainFirstTaskK(F: FromTask, M: Chain): (f: (a: A) => Task) => (first: HKT) => HKT;