import { Monad } from "./monad";
export default class Identity implements Monad {
private val;
constructor(val: A);
static of(a: A): Identity;
of(a: A): Identity;
ap(f: Identity<(a: A) => B>): Identity;
extract(): A;
map(f: (a: A) => B): Identity;
mapTo(b: B): Identity;
flatten(): Identity;
chain(f: (a: A) => Identity): Identity;
multi: boolean;
static multi: boolean;
lift: (f: Function, ...ms: any[]) => Identity;
}