import { default as BiFunctor } from '../../interface/Bifunctor';
import { default as Monad } from '../../interface/Monad';
import { default as Semigroup } from '../../interface/Semigroup';
import { default as Setoid } from '../../interface/Setoid';
declare class Pair implements Setoid, Semigroup, BiFunctor, Monad {
private _value;
constructor(v1: A, v2: B);
static of(v: C): Pair;
of(v: C): Pair;
equals(j: Pair): boolean;
concat(p: Pair): Pair;
fst(): A;
snd(): B;
ap(j: Pair): Pair;
getValue(): (A | B)[];
map(f: (a: B) => C): Pair;
bimap(f1: (a: A) => C, f2: (a: B) => D): Pair;
chain(f: (a: B) => Pair): Pair;
swap(): Pair;
toString(): string;
}
export default Pair;