import { default as Monad } from '../../interface/Monad'; import { default as Semigroup } from '../../interface/Semigroup'; declare class Task implements Semigroup, Monad<(rej: Function, res: Function) => any> { private _value; constructor(f: (rej: Function, res: Function) => any); static of(v: any): Task; static rejected(v: any): Task; of(v: any): Task; rejected(v: any): Task; fork(reject: Function, resolve: Function): void; toString(): string; map(f: (a: A) => B): Task; getValue(): (rej: Function, res: Function) => any; ap(t: Task): Task; concat(t: Task): Task; chain(f: Function): Task; toPromise(): Promise; } export default Task;