/** Return the factorial of non-negative integer `n`. * * `factorial(0)` → `1` by convention. Throws for negative inputs or * non-integer inputs (programmer error). Returns `Infinity` for `n > 170` * (above IEEE 754 double precision range). */ export declare function factorial(n: number): number; /** Return the greatest common divisor of `a` and `b` (Euclidean algorithm). * * Operates on the absolute values of the inputs, so negative arguments are * accepted. Throws for non-finite inputs or when both `a` and `b` are `0` * (programmer errors — the GCD of zero and zero is undefined). */ export declare function gcd(a: number, b: number): number; /** Return the squared distance `x² + y²`. * * Allocation-free substitute for `Math.hypot(x, y) ** 2` when you only need * to compare distances. Prefer `hypot2` over `Math.hypot` in hot loops where * the actual distance value is not needed. */ export declare function hypot2(x: number, y: number): number; /** Return `true` if `n` is even. */ export declare function isEven(n: number): boolean; /** Return `true` if `n` is odd. */ export declare function isOdd(n: number): boolean; /** Return the least common multiple of `a` and `b`. * * Operates on the absolute values of the inputs. Throws when both `a` and * `b` are `0` (see `gcd`). For very large inputs, the result may exceed * `Number.MAX_SAFE_INTEGER` and lose precision. */ export declare function lcm(a: number, b: number): number; //# sourceMappingURL=numberTheory.d.ts.map