/**
 * Return a random floating point number between 0 (inclusive) and 1
 * (exclusive). By default uses *Math.random*. Use the *seed* method
 * to instead use a seeded random number generator.
 * @return {number} A pseudorandom number between 0 and 1.
 */
export function random(): number;
/**
 * Tests if the input *value* is not a number (`NaN`); equivalent
 * to *Number.isNaN*.
 * @param {*} value The value to test.
 * @return {boolean} True if the value is not a number, false otherwise.
 */
export function is_nan(value: any): boolean;
/**
 * Tests if the input *value* is finite; equivalent to *Number.isFinite*.
 * @param {*} value The value to test.
 * @return {boolean} True if the value is finite, false otherwise.
 */
export function is_finite(value: any): boolean;
/**
 * Returns the absolute value of the input *value*; equivalent to *Math.abs*.
 * @param {number} value The input number value.
 * @return {number} The absolute value.
 */
export function abs(value: number): number;
/**
 * Returns the cube root value of the input *value*; equivalent to
 * *Math.cbrt*.
 * @param {number} value The input number value.
 * @return {number} The cube root value.
 */
export function cbrt(value: number): number;
/**
 * Returns the ceiling of the input *value*, the nearest integer equal to
 * or greater than the input; equivalent to *Math.ceil*.
 * @param {number} value The input number value.
 * @return {number} The ceiling value.
 */
export function ceil(value: number): number;
/**
 * Returns the number of leading zero bits in the 32-bit binary
 * representation of a number *value*; equivalent to *Math.clz32*.
 * @param {number} value The input number value.
 * @return {number} The leading zero bits value.
 */
export function clz32(value: number): number;
/**
 * Returns *e<sup>value</sup>*, where *e* is Euler's number, the base of the
 * natural logarithm; equivalent to *Math.exp*.
 * @param {number} value The input number value.
 * @return {number} The base-e exponentiated value.
 */
export function exp(value: number): number;
/**
 * Returns *e<sup>value</sup> - 1*, where *e* is Euler's number, the base of
 * the natural logarithm; equivalent to *Math.expm1*.
 * @param {number} value The input number value.
 * @return {number} The base-e exponentiated value minus 1.
 */
export function expm1(value: number): number;
/**
 * Returns the floor of the input *value*, the nearest integer equal to or
 * less than the input; equivalent to *Math.floor*.
 * @param {number} value The input number value.
 * @return {number} The floor value.
 */
export function floor(value: number): number;
/**
 * Returns the nearest 32-bit single precision float representation of the
 * input number *value*; equivalent to *Math.fround*. Useful for translating
 * between 64-bit `Number` values and values from a `Float32Array`.
 * @param {number} value The input number value.
 * @return {number} The rounded value.
 */
export function fround(value: number): number;
/**
 * Returns the greatest (maximum) value among the input *values*; equivalent
 * to *Math.max*. This is _not_ an aggregate function, see *op.max* to
 * compute a maximum value across multiple rows.
 * @param {...number} values The input number values.
 * @return {number} The greatest (maximum) value among the inputs.
 */
export function greatest(...values: number[]): number;
/**
 * Returns the least (minimum) value among the input *values*; equivalent
 * to *Math.min*. This is _not_ an aggregate function, see *op.min* to
 * compute a minimum value across multiple rows.
 * @param {...number} values The input number values.
 * @return {number} The least (minimum) value among the inputs.
 */
export function least(...values: number[]): number;
/**
 * Returns the natural logarithm (base *e*) of a number *value*; equivalent
 * to *Math.log*.
 * @param {number} value The input number value.
 * @return {number} The base-e log value.
 */
export function log(value: number): number;
/**
 * Returns the base 10 logarithm of a number *value*; equivalent
 * to *Math.log10*.
 * @param {number} value The input number value.
 * @return {number} The base-10 log value.
 */
export function log10(value: number): number;
/**
 * Returns the natural logarithm (base *e*) of 1 + a number *value*;
 * equivalent to *Math.log1p*.
 * @param {number} value The input number value.
 * @return {number} The base-e log of value + 1.
 */
export function log1p(value: number): number;
/**
 * Returns the base 2 logarithm of a number *value*; equivalent
 * to *Math.log2*.
 * @param {number} value The input number value.
 * @return {number} The base-2 log value.
 */
export function log2(value: number): number;
/**
 * Returns the *base* raised to the *exponent* power, that is,
 * *base*<sup>*exponent*</sup>; equivalent to *Math.pow*.
 * @param {number} base The base number value.
 * @param {number} exponent The exponent number value.
 * @return {number} The exponentiated value.
 */
export function pow(base: number, exponent: number): number;
/**
 * Returns the value of a number rounded to the nearest integer;
 * equivalent to *Math.round*.
 * @param {number} value The input number value.
 * @return {number} The rounded value.
 */
export function round(value: number): number;
/**
 * Returns either a positive or negative +/- 1, indicating the sign of the
 * input *value*; equivalent to *Math.sign*.
 * @param {number} value The input number value.
 * @return {number} The sign of the value.
 */
export function sign(value: number): number;
/**
 * Returns the square root of the input *value*; equivalent to *Math.sqrt*.
 * @param {number} value The input number value.
 * @return {number} The square root value.
 */
export function sqrt(value: number): number;
/**
 * Returns the integer part of a number by removing any fractional digits;
 * equivalent to *Math.trunc*.
 * @param {number} value The input number value.
 * @return {number} The truncated value.
 */
export function trunc(value: number): number;
/**
 * Converts the input *radians* value to degrees.
 * @param {number} radians The input radians value.
 * @return {number} The value in degrees
 */
export function degrees(radians: number): number;
/**
 * Converts the input *degrees* value to radians.
 * @param {number} degrees The input degrees value.
 * @return {number} The value in radians.
 */
export function radians(degrees: number): number;
/**
 * Returns the arc-cosine (in radians) of a number *value*;
 * equivalent to *Math.acos*.
 * @param {number} value The input number value.
 * @return {number} The arc-cosine value.
 */
export function acos(value: number): number;
/**
 * Returns the hyperbolic arc-cosine of a number *value*;
 * equivalent to *Math.acosh*.
 * @param {number} value The input number value.
 * @return {number} The hyperbolic arc-cosine value.
 */
export function acosh(value: number): number;
/**
 * Returns the arc-sine (in radians) of a number *value*;
 * equivalent to *Math.asin*.
 * @param {number} value The input number value.
 * @return {number} The arc-sine value.
 */
export function asin(value: number): number;
/**
 * Returns the hyperbolic arc-sine of a number *value*;
 * equivalent to *Math.asinh*.
 * @param {number} value The input number value.
 * @return {number} The hyperbolic arc-sine value.
 */
export function asinh(value: number): number;
/**
 * Returns the arc-tangent (in radians) of a number *value*;
 * equivalent to *Math.atan*.
 * @param {number} value The input number value.
 * @return {number} The arc-tangent value.
 */
export function atan(value: number): number;
/**
 * Returns the angle in the plane (in radians) between the positive x-axis
 * and the ray from (0, 0) to the point (*x*, *y*);
 * equivalent to *Math.atan2*.
 * @param {number} y The y coordinate of the point.
 * @param {number} x The x coordinate of the point.
 * @return {number} The arc-tangent angle.
 */
export function atan2(y: number, x: number): number;
/**
 * Returns the hyperbolic arc-tangent of a number *value*;
 * equivalent to *Math.atanh*.
 * @param {number} value The input number value.
 * @return {number} The hyperbolic arc-tangent value.
 */
export function atanh(value: number): number;
/**
 * Returns the cosine (in radians) of a number *value*;
 * equivalent to *Math.cos*.
 * @param {number} value The input number value.
 * @return {number} The cosine value.
 */
export function cos(value: number): number;
/**
 * Returns the hyperbolic cosine (in radians) of a number *value*;
 * equivalent to *Math.cosh*.
 * @param {number} value The input number value.
 * @return {number} The hyperbolic cosine value.
 */
export function cosh(value: number): number;
/**
 * Returns the sine (in radians) of a number *value*;
 * equivalent to *Math.sin*.
 * @param {number} value The input number value.
 * @return {number} The sine value.
 */
export function sin(value: number): number;
/**
 * Returns the hyperbolic sine (in radians) of a number *value*;
 * equivalent to *Math.sinh*.
 * @param {number} value The input number value.
 * @return {number} The hyperbolic sine value.
 */
export function sinh(value: number): number;
/**
 * Returns the tangent (in radians) of a number *value*;
 * equivalent to *Math.tan*.
 * @param {number} value The input number value.
 * @return {number} The tangent value.
 */
export function tan(value: number): number;
/**
 * Returns the hyperbolic tangent (in radians) of a number *value*;
 * equivalent to *Math.tanh*.
 * @param {number} value The input number value.
 * @return {number} The hyperbolic tangent value.
 */
export function tanh(value: number): number;
