/**
 * Check if a value is boolean.
 * [📘](https://github.com/nodef/extra-boolean/wiki/is)
 * @param v a value
 * @returns is boolean?
 */
declare function is(v: any): v is boolean;
/**
 * Convert a string to boolean.
 * [📘](https://github.com/nodef/extra-boolean/wiki/parse)
 * @param s a string
 * @returns s represents true?
 */
declare function parse(s: string): boolean;
/**
 * Check if a boolean is false.
 * [📘](https://github.com/nodef/extra-boolean/wiki/not)
 * @param a a boolean
 * @returns ¬a?
 */
declare function not(a: boolean): boolean;
/**
 * Check if antecedent ⇒ consequent.
 * [📘](https://github.com/nodef/extra-boolean/wiki/imply)
 * @param a antecedent
 * @param b consequent
 * @returns a ⇒ b?
 */
declare function imply(a: boolean, b: boolean): boolean;

/**
 * Check if antecedent ⇏ consequent.
 * [📘](https://github.com/nodef/extra-boolean/wiki/nimply)
 * @param a antecedent
 * @param b consequent
 * @returns a ⇏ b?
 */
declare function nimply(a: boolean, b: boolean): boolean;
/**
 * Check if antecedent ⇔ consequent.
 * [📘](https://github.com/nodef/extra-boolean/wiki/eq)
 * @param a antecedent
 * @param b consequent
 * @returns a ⇔ b?
 */
declare function eq(a: boolean, b: boolean): boolean;

/**
 * Check if antecedent ⇎ consequent.
 * [📘](https://github.com/nodef/extra-boolean/wiki/neq)
 * @param a antecedent
 * @param b consequent
 * @returns a ⇎ b?
 */
declare function neq(a: boolean, b: boolean): boolean;
/**
 * Check if all booleans are true.
 * [📘](https://github.com/nodef/extra-boolean/wiki/and)
 * @param a 1st boolean
 * @param b 2nd boolean
 * @param c 3rd boolean
 * @param d 4th boolean
 * @param e 5th boolean
 * @param f 6th boolean
 * @param g 7th boolean
 * @param h 8th boolean
 * @returns a ^ b ^ ...?
 */
declare function and(a?: boolean, b?: boolean, c?: boolean, d?: boolean, e?: boolean, f?: boolean, g?: boolean, h?: boolean): boolean;
/**
 * Check if any boolean is false.
 * [📘](https://github.com/nodef/extra-boolean/wiki/nand)
 * @param a 1st boolean
 * @param b 2nd boolean
 * @param c 3rd boolean
 * @param d 4th boolean
 * @param e 5th boolean
 * @param f 6th boolean
 * @param g 7th boolean
 * @param h 8th boolean
 * @returns ¬(a ^ b ^ ...)?
 */
declare function nand(a?: boolean, b?: boolean, c?: boolean, d?: boolean, e?: boolean, f?: boolean, g?: boolean, h?: boolean): boolean;
/**
 * Check if any boolean is true.
 * [📘](https://github.com/nodef/extra-boolean/wiki/or)
 * @param a 1st boolean
 * @param b 2nd boolean
 * @param c 3rd boolean
 * @param d 4th boolean
 * @param e 5th boolean
 * @param f 6th boolean
 * @param g 7th boolean
 * @param h 8th boolean
 * @returns a ∨ b ∨ ...?
 */
declare function or(a?: boolean, b?: boolean, c?: boolean, d?: boolean, e?: boolean, f?: boolean, g?: boolean, h?: boolean): boolean;
/**
 * Check if all booleans are false.
 * [📘](https://github.com/nodef/extra-boolean/wiki/nor)
 * @param a 1st boolean
 * @param b 2nd boolean
 * @param c 3rd boolean
 * @param d 4th boolean
 * @param e 5th boolean
 * @param f 6th boolean
 * @param g 7th boolean
 * @param h 8th boolean
 * @returns ¬(a ∨ b ∨ ...)?
 */
declare function nor(a?: boolean, b?: boolean, c?: boolean, d?: boolean, e?: boolean, f?: boolean, g?: boolean, h?: boolean): boolean;
/**
 * Check if odd number of booleans are true.
 * [📘](https://github.com/nodef/extra-boolean/wiki/xor)
 * @param a 1st boolean
 * @param b 2nd boolean
 * @param c 3rd boolean
 * @param d 4th boolean
 * @param e 5th boolean
 * @param f 6th boolean
 * @param g 7th boolean
 * @param h 8th boolean
 * @returns a ⊕ b ⊕ ...?
 */
declare function xor(a?: boolean, b?: boolean, c?: boolean, d?: boolean, e?: boolean, f?: boolean, g?: boolean, h?: boolean): boolean;
/**
 * Check if even number of booleans are true.
 * [📘](https://github.com/nodef/extra-boolean/wiki/xnor)
 * @param a 1st boolean
 * @param b 2nd boolean
 * @param c 3rd boolean
 * @param d 4th boolean
 * @param e 5th boolean
 * @param f 6th boolean
 * @param g 7th boolean
 * @param h 8th boolean
 * @returns ¬(a ⊕ b ⊕ ...)?
 */
declare function xnor(a?: boolean, b?: boolean, c?: boolean, d?: boolean, e?: boolean, f?: boolean, g?: boolean, h?: boolean): boolean;
/**
 * Count number of true booleans.
 * [📘](https://github.com/nodef/extra-boolean/wiki/count)
 * @param a 1st boolean
 * @param b 2nd boolean
 * @param c 3rd boolean
 * @param d 4th boolean
 * @param e 5th boolean
 * @param f 6th boolean
 * @param g 7th boolean
 * @param h 8th boolean
 * @returns a + b + ...
 */
declare function count(a?: boolean, b?: boolean, c?: boolean, d?: boolean, e?: boolean, f?: boolean, g?: boolean, h?: boolean): number;
/**
 * Check if iᵗʰ boolean is true.
 * [📘](https://github.com/nodef/extra-boolean/wiki/select)
 * @param i index
 * @param a 1st boolean
 * @param b 2nd boolean
 * @param c 3rd boolean
 * @param d 4th boolean
 * @param e 5th boolean
 * @param f 6th boolean
 * @param g 7th boolean
 * @param h 8th boolean
 * @returns iᵗʰ boolean
 */
declare function select(i: number, a?: boolean, b?: boolean, c?: boolean, d?: boolean, e?: boolean, f?: boolean, g?: boolean, h?: boolean): boolean;

export { and, count, eq, eq as eqv, imply as imp, imply, is, nand, neq, nimply, nor, not, or, parse, select, xnor, xor };
