import * as P from ".";
/**
 * Returns `true` if `value > 0`, otherwise returns `false`.
 *
 *
 * @category Predicate
 * @example
 * import { isPositive } from "perlica/Predicate/Number"
 *
 * expect(isPositive(0)).toBeFalse();
 * expect(isPositive(4)).toBeTrue();
 * expect(isPositive(-4)).toBeFalse();
 */
export declare const isPositive: P.Predicate<number>;
/**
 * Returns `true` if `value >= 0`, otherwise returns `false`.
 *
 *
 * @category Predicate
 * @example
 * import { isNonNegative } from "perlica/Predicate/Number"
 *
 * expect(isNonNegative(0)).toBeTrue();
 * expect(isNonNegative(4)).toBeTrue();
 * expect(isNonNegative(-4)).toBeFalse();
 */
export declare const isNonNegative: P.Predicate<number>;
/**
 * Returns `true` if `value < 0`, otherwise returns `false`.
 *
 *
 * @category Predicate
 * @example
 * import { isNegative } from "perlica/Predicate/Number"
 *
 * expect(isNegative(0)).toBeFalse();
 * expect(isNegative(4)).toBeFalse();
 * expect(isNegative(-4)).toBeTrue();
 */
export declare const isNegative: P.Predicate<number>;
/**
 * Returns `true` if `value <= 0`, otherwise returns `false`.
 *
 *
 * @category Predicate
 * @example
 * import { isNonPositive } from "perlica/Predicate/Number"
 *
 * expect(isNonPositive(0)).toBeTrue();
 * expect(isNonPositive(4)).toBeFalse();
 * expect(isNonPositive(-4)).toBeTrue();
 */
export declare const isNonPositive: P.Predicate<number>;
/**
 * Returns `true` if `value` is finite, not `Infinity` or `-Infinity`, otherwise returns `false`.
 *
 *
 * @category Predicate
 * @example
 * import { isFinite } from "perlica/Predicate/Number"
 *
 * expect(isFinite(4 / 2)).toBeTrue();
 * expect(isFinite(4 / 0)).toBeFalse();
 */
export declare const isFinite: P.Predicate<number>;
/**
 * Returns a new `Predicate<T>`.
 * Returns true if `value` is evenly divisible by a pre-defined `that`.
 *
 * @category Predicate
 * @example
 * import { multipleOf } from "perlica/Predicate/Number"
 *
 * const predicate = multipleOf(2);
 *
 * expect(predicate(4)).toBeTrue();
 * expect(predicate(3)).toBeFalse();
 */
export declare const multipleOf: (that: number) => P.Predicate<number>;
/**
 * Returns a new `Predicate<T>`.
 * Returns `true` if `value` is less than a pre-defined `that`.
 *
 * @category Predicate
 * @example
 * import { lt } from "perlica/Predicate/Number"
 *
 * const predicate = lt(4);
 *
 * expect(predicate(5)).toBeFalse();
 * expect(predicate(4)).toBeFalse();
 * expect(predicate(3)).toBeTrue();
 */
export declare const lt: (that: number) => P.Predicate<number>;
/**
 * Returns a new `Predicate<T>`.
 * Returns `true` if `value` is greater than a pre-defined `that`.
 *
 * @category Predicate
 * @example
 * import { gt } from "perlica/Predicate/Number"
 *
 * const predicate = gt(4);
 *
 * expect(predicate(5)).toBeTrue();
 * expect(predicate(4)).toBeFalse();
 * expect(predicate(3)).toBeFalse();
 */
export declare const gt: (that: number) => P.Predicate<number>;
/**
 * Returns a new `Predicate<T>`.
 * Returns `true` if `value` is less than or equal to a pre-defined `that`.
 *
 * @category Predicate
 * @example
 * import { le } from "perlica/Predicate/Number"
 *
 * const predicate = le(4);
 *
 * expect(predicate(5)).toBeFalse();
 * expect(predicate(4)).toBeTrue();
 * expect(predicate(3)).toBeTrue();
 */
export declare const le: (that: number) => P.Predicate<number>;
/**
 * Returns a new `Predicate<T>`.
 * Returns `true` if `value` is greater than or equal to a pre-defined `that`.
 *
 * @category Predicate
 * @example
 * import { ge } from "perlica/Predicate/Number"
 *
 * const predicate = ge(4);
 *
 * expect(predicate(5)).toBeTrue();
 * expect(predicate(4)).toBeTrue();
 * expect(predicate(3)).toBeFalse();
 */
export declare const ge: (that: number) => P.Predicate<number>;
/**
 * Returns `true` if `value` is `number`, otherwise returns `false`.
 *
 * @category Guard
 * @example
 * import { isNumber } from "perlica/Predicate/Number"
 *
 * expect(isNumber(4)).toBeTrue();
 * expect(isNumber(4.4)).toBeTrue();
 *
 * expect(isNumber(null)).toBeFalse();
 * expect(isNumber(true)).toBeFalse();
 * expect(isNumber("hello")).toBeFalse();
 */
export declare const isNumber: P.Guard<unknown, number>;
/**
 * Returns `true` if `value` is `integer`, otherwise returns `false`.
 *
 * @category Guard
 * @example
 * import { isInteger } from "perlica/Predicate/Number"
 *
 * expect(isInteger(4)).toBeTrue();
 * expect(isInteger(4.4)).toBeFalse();
 */
export declare const isInteger: P.Guard<unknown, number>;
