import { default as Monad } from '../../interface/Monad';
import { default as Semigroup } from '../../interface/Semigroup';
import { default as Setoid } from '../../interface/Setoid';
declare class Identity implements Setoid, Semigroup, Monad {
private _value;
constructor(value: A);
static of(v: C): Identity;
of(v: C): Identity;
getValue(): A;
equals(j: Identity): boolean;
concat(i: Identity): Identity;
ap(i: Identity): Identity;
map(f: (a: A) => B): Identity;
chain(f: (a: A) => Identity): Identity;
toString(): string;
}
export default Identity;