/**
* Eq provides an interface for equality checking of types that
* are typically wrappers for other values. (e.g. Monads).
*/
export interface Eq {
/**
* eq (equality test).
*/
eq(e: A): boolean;
}
/**
* valueEq preforms the equality test on two objects
* that have a property called 'value'.
*/
export declare const valueEq: (l: {
value: A;
}) => (r: {
value: A;
}) => boolean;