import { default as Monad } from '../../interface/Monad'; declare class Reader implements Monad { private _value; constructor(fn: Function); static of(v: C): Reader; of(v: C): Reader; ask(fn?: Function): Reader; runWith(ctx: A): any; ap(j: Reader): Reader; getValue(): Function; map(f: Function): Reader; chain(f: (a: B) => Reader): Reader; toString(): string; } export default Reader;