import { NDArray, NDArrayBool, NDArrayFloat32 } from "./NDArray";
/** Element-wise square root. */
export declare function sqrt(arr: NDArray): NDArrayFloat32;
/** Element-wise square root, in-place. */
export declare function sqrt_(arr: NDArray): NDArray;
/** Element-wise sine (radians). */
export declare function sin(arr: NDArray): NDArrayFloat32;
/** Element-wise sine, in-place. */
export declare function sin_(arr: NDArray): NDArray;
/** Element-wise cosine (radians). */
export declare function cos(arr: NDArray): NDArrayFloat32;
/** Element-wise cosine, in-place. */
export declare function cos_(arr: NDArray): NDArray;
/** Element-wise tangent (radians). */
export declare function tan(arr: NDArray): NDArrayFloat32;
/** Element-wise tangent, in-place. */
export declare function tan_(arr: NDArray): NDArray;
/** Element-wise arc sine. */
export declare function asin(arr: NDArray): NDArrayFloat32;
/** Element-wise arc sine, in-place. */
export declare function asin_(arr: NDArray): NDArray;
/** Element-wise arc cosine. */
export declare function acos(arr: NDArray): NDArrayFloat32;
/** Element-wise arc cosine, in-place. */
export declare function acos_(arr: NDArray): NDArray;
/** Element-wise arc tangent. */
export declare function atan(arr: NDArray): NDArrayFloat32;
/** Element-wise arc tangent, in-place. */
export declare function atan_(arr: NDArray): NDArray;
/** Element-wise atan2(y, x). Broadcasts. */
export declare function atan2(y: NDArray, x: NDArray): NDArrayFloat32;
/** Element-wise exponential (e^x). */
export declare function exp(arr: NDArray): NDArrayFloat32;
/** Element-wise exponential, in-place. */
export declare function exp_(arr: NDArray): NDArray;
/** Element-wise natural logarithm. */
export declare function log(arr: NDArray): NDArrayFloat32;
/** Element-wise natural logarithm, in-place. */
export declare function log_(arr: NDArray): NDArray;
/** Element-wise base-2 logarithm. */
export declare function log2(arr: NDArray): NDArrayFloat32;
/** Element-wise base-2 logarithm, in-place. */
export declare function log2_(arr: NDArray): NDArray;
/** Element-wise base-10 logarithm. */
export declare function log10(arr: NDArray): NDArrayFloat32;
/** Element-wise base-10 logarithm, in-place. */
export declare function log10_(arr: NDArray): NDArray;
/** Element-wise floor. */
export declare function floor(arr: NDArray): NDArrayFloat32;
/** Element-wise floor, in-place. */
export declare function floor_(arr: NDArray): NDArray;
/** Element-wise ceiling. */
export declare function ceil(arr: NDArray): NDArrayFloat32;
/** Element-wise ceiling, in-place. */
export declare function ceil_(arr: NDArray): NDArray;
/** Element-wise rounding to nearest integer. */
export declare function round(arr: NDArray): NDArrayFloat32;
/** Element-wise rounding, in-place. */
export declare function round_(arr: NDArray): NDArray;
/** Element-wise power. */
export declare function pow(arr: NDArray, exponent: number): NDArrayFloat32;
/** Element-wise power, in-place. */
export declare function pow_(arr: NDArray, exponent: number): NDArray;
/** Element-wise absolute value. Supports all dtypes. */
export declare function abs(arr: NDArray): NDArray;
/** Element-wise negation. Supports all dtypes. */
export declare function neg(arr: NDArray): NDArray;
/** Clamp values to `[lo, hi]`. Supports all dtypes. */
export declare function clip(arr: NDArray, lo: number, hi: number): NDArray;
/** Dot product along last axis. [N,3] x [N,3] -> [N]. Broadcasts batch dims. Returns number for 1D inputs. */
export declare function dot(a: NDArray, b: NDArray): number | NDArray;
/** Cross product along last axis (must be 3). [N,3] x [N,3] -> [N,3]. Broadcasts batch dims. */
export declare function cross(a: NDArray, b: NDArray): NDArray;
/** L2-normalize an array, returning a new array. */
export declare function normalize(arr: NDArray, axis?: number): NDArray;
/** L2-normalize an array in-place. */
export declare function normalize_(arr: NDArray, axis?: number): NDArray;
/** Element-wise remainder (truncated, matching JS `%`). Supports all dtypes. */
export declare function mod(a: NDArray, b: NDArray | number): NDArray;
/** Element-wise remainder in-place. */
export declare function mod_(a: NDArray, b: NDArray | number): NDArray;
/** Element-wise NaN detection. Returns true where value is NaN. */
export declare function isNaN(arr: NDArray): NDArrayBool;
//# sourceMappingURL=math.d.ts.map