/**
* Loose equality compares two values for equality.
*
* Equals to `a == b`.
*
* @example
*
* ```ts
* assert.deepStrictEqual(isEqual(1, 1), true)
* assert.deepStrictEqual(isEqual(1, '1'), true)
* ```
*/
export declare const isEqual: (self: unknown, other: unknown) => boolean;
/**
* Strict equality compares two values for equality.
*
* Equals to `a === b`.
*
* @example
*
* ```ts
* assert.deepStrictEqual(isStrictEqual(1, 1), true)
* assert.deepStrictEqual(isStrictEqual(1, '1'), false)
* ```
*/
export declare const isStrictEqual: (self: unknown, other: unknown) => boolean;
/**
* Checks if value is *loose equal* to any other value.
*
* Returns self directly if others is empty.
*
* @example
*
* ```ts
* assert.deepStrictEqual(eqOr(1, 2, 3), false)
* assert.deepStrictEqual(eqOr(1, '1', 3), true)
* ```
*/
export declare function eqOr(self: A): A;
export declare function eqOr(self: unknown, ...others: unknown[]): boolean;
/**
* Checks if value is *loose not equal* to any other value.
*
* Returns self directly if others is empty.
*
* @example
*
* ```ts
* assert.deepStrictEqual(notEqOr(1, '1', 1), false)
* assert.deepStrictEqual(notEqOr(1, 1, 2), true)
* ```
*/
export declare function notEqOr(self: A): A;
export declare function notEqOr(self: unknown, ...others: unknown[]): boolean;
/**
* Checks if value is *strict equal* to any other value.
*
* Returns self directly if others is empty.
*
* @example
*
* ```ts
* assert.deepStrictEqual(strictEqOr(1, 2, 3), false)
* assert.deepStrictEqual(strictEqOr(1, '1', 3), false)
* assert.deepStrictEqual(strictEqOr(1, 1, 3), true)
* ```
*/
export declare function strictEqOr(self: A): A;
export declare function strictEqOr(self: unknown, ...others: unknown[]): boolean;
/**
* Checks if value is *strict not equal* to any other value.
*
* Returns self directly if others is empty.
*
* @example
*
* ```ts
* assert.deepStrictEqual(strictNotEqOr(1, 1, 1), false)
* assert.deepStrictEqual(strictNotEqOr(1, 2, 3), true)
* assert.deepStrictEqual(strictNotEqOr(1, '1', 1), true)
* ```
*/
export declare function strictNotEqOr(self: A): A;
export declare function strictNotEqOr(self: unknown, ...others: unknown[]): boolean;
/**
* Checks if value is *loose equal* to every other value.
*
* Returns self directly if others is empty.
*
* @example
*
* ```ts
* assert.deepStrictEqual(eqAnd(1, 2, 3), false)
* assert.deepStrictEqual(eqAnd(1, '1', 3), false)
* assert.deepStrictEqual(eqAnd(1, '1', true), true)
* ```
*/
export declare function eqAnd(self: A): A;
export declare function eqAnd(self: unknown, ...others: unknown[]): boolean;
/**
* Checks if value is *loose not equal* to every other value.
*
* Returns self directly if others is empty.
*
* @example
*
* ```ts
assert.deepStrictEqual(notEqAnd(1), 1)
assert.deepStrictEqual(notEqAnd(1, 2, 3), true)
assert.deepStrictEqual(notEqAnd(1, '1', 3), false)
* ```
*/
export declare function notEqAnd(self: A): A;
export declare function notEqAnd(self: unknown, ...others: unknown[]): boolean;
/**
* Checks if value is *strict equal* to every other value.
*
* Returns self directly if others is empty.
*
* @example
*
* ```ts
* assert.deepStrictEqual(strictEqAnd(1, 2, 3), false)
* assert.deepStrictEqual(strictEqAnd(1, 1, 2), false)
* assert.deepStrictEqual(strictEqAnd(1, 1, 1), true)
* ```
*/
export declare function strictEqAnd(self: A): A;
export declare function strictEqAnd(self: unknown, ...others: unknown[]): boolean;
/**
* Checks if value is *strict not equal* to every other value.
*
* Returns self directly if others is empty.
*
* @example
*
* ```ts
assert.deepStrictEqual(strictNotEqAnd(1, 2, 3), true)
assert.deepStrictEqual(strictNotEqAnd(1, '1', 2), true)
assert.deepStrictEqual(strictNotEqAnd(1, 1, 1), false)
* ```
*/
export declare function strictNotEqAnd(self: A): A;
export declare function strictNotEqAnd(self: unknown, ...others: unknown[]): boolean;