/**
 * addition 加法计算。与普通加法运算不同的是，任意参数为 `null/NaN/undefined`，均会被视为 `0` 而忽略
 *
 * ### Example (es module)
 * ```js
 * import { add } from 'asmd-calc';
 * console.log(add(0.1, 0.2, 3));
 * // => 3.3
 * ```
 *
 * @returns 永远返回有效的数值，不存在 NaN(视作0处理)
 */
export declare function add(...args: any[]): number;
/**
 * subtraction 减法计算。与普通减法运算不同的是，任意参数为 `null/NaN/undefined`，均会被视为 `0` 而忽略
 *
 * ### Example (es module)
 * ```js
 * import { sub } from 'asmd-calc';
 * console.log(sub(0.3, 0.2, 0.1));
 * // => 0
 * ```
 *
 * @param args 第一个值为减数，后续值均为被减数
 * @returns 永远返回有效的数值，不存在 NaN(视作0处理)
 */
export declare function sub(...args: any[]): number;
/**
 * multiplication 乘法计算。
 * - 注意小数位不宜过长(总长度不超过18位，结果不超过18位)
 * - 任意参数为 `null/NaN/undefined`，均会被视为 `0`
 *
 * ### Example (es module)
 * ```js
 * import { mul } from 'asmd-calc';
 * console.log(mul(3, 0.2, 0.1));
 * // => 0.06
 * ```
 *
 * @returns 永远返回有效的数值，不存在 NaN(视作0处理)
 */
export declare function mul(...args: any[]): number;
/**
 * division 除法计算。
 *
 * 任意参数为 `null/NaN/undefined`，均会被视为 `0`。于是会有如下情况：
 * ```
 * NaN / 1 = 0 / 1 = 0
 * 0 / NaN = 0 / 0 = NaN
 * 1 / NaN = 1 / 0 = Infinity
 * ```
 *
 * ### Example (es module)
 * ```js
 * import { div } from 'asmd-calc';
 * console.log(div(0.6, 0.1, 0.2));
 * // => 30
 * ```
 *
 * @param args 第一个参数为除数，后续参数均为被除数
 * @returns 永远返回有效的数值。
 */
export declare function div(...args: any[]): number;
/**
 * 最多保留 N 位小数
 *
 * ### Example (es module)
 * ```js
 * import { keepDotDLength } from 'asmd-calc';
 * console.log(keepDotDLength(0.66666, 2));
 * // => 0.66
 * console.log(keepDotDLength(0.66666, 2, false));
 * // => 0.66
 * console.log(keepDotDLength(0.66666, 2, true));
 * // => 0.67
 * ```
 *
 * @param value 数值
 * @param precision 小数位数，应为 0-16 之间的整数
 * @param isrounding 是否四舍五入取值。默认 false
 */
export declare function keepDotLength(value: number | string, precision: number, type?: 'ceil' | 'round' | 'fround' | 'floor' | boolean): number | null;
/**
 * toFixed 方法重写 【解决 Number.toFixed 方法在不同浏览器表现不一致的问题】
 *
 * ### Example (es module)
 * ```js
 * import { toFixed } from 'asmd-calc';
 * console.log(toFixed(0.66666, 2));
 * // => 0.67
 * console.log(toFixed(1.45, 1));
 * // => 1.5
 * console.log(toFixed(1.55, 1));
 * // => 1.6
 * console.log(toFixed(1.515, 2));
 * // => 1.52
 * ```
 *
 * @param value 数值
 * @param precision 小数位数，应为 0-16 之间的整数
 * @param type 进位处理方法：
 *  - round - 四舍五入
 *  - ceil 向上取整
 *  - floor 向下取整(截断)
 */
export declare function toFixed(value: number | string, precision: number, type?: 'ceil' | 'round' | 'fround' | 'floor'): string | null;
