import type { InputNumberDecimalPlaces } from './large-number'; export * from './large-number'; export type NumberType = number | string; export declare function canAddNumber(num: NumberType, max: NumberType, largeNumber?: boolean): boolean; export declare function canReduceNumber(num: NumberType, min: NumberType, largeNumber?: boolean): boolean; /** * 将数字控制在 max 和 min 之间 */ export declare function putInRangeNumber(val: NumberType, params: { max?: NumberType; min?: NumberType; lastValue?: NumberType; largeNumber?: boolean; }): NumberType; /** * 仅支持正数,小数加法精度处理,小数部分和整数部分分开处理 */ export declare function positiveAdd(num1: number, num2: number): number; /** * 正数,小数减法精度处理,小数部分和整数部分分开处理 */ export declare function positiveSubtract(num1: number, num2: number): number; /** * 支持正数、负数、小数等全部数字的加法 * -0.766 + 1 => 1 - 0.766 * -1 + (-0.766) => - (1 + 0.766) * 1 + (-0.766) => 1 - 0.766 * 1 + 0.766 => 1 + 0.766 */ export declare function add(num1: number, num2: number): number; /** * 支持正数、负数、小数等全部数字的减法 * -0.766 - 1 => - (1 + 0.766) * -1 - (-0.766) => 0.766 - 1 * 1 - (-0.766) => 1 + 0.766 * 1 - 0.766 => 1 - 0.766 */ export declare function subtract(num1: number, num2: number): number; export declare function getStepValue(p: { op: 'add' | 'reduce'; step: NumberType; max?: NumberType; min?: NumberType; lastValue?: NumberType; largeNumber?: boolean; }): any; export type InputNumberErrorType = 'exceed-maximum' | 'below-minimum' | undefined; /** * 最大值和最小值校验 */ export declare function getMaxOrMinValidateResult(p: { largeNumber: boolean; value: NumberType; max: NumberType; min: NumberType; }): InputNumberErrorType; export declare const specialCode: string[]; /** * 是否允许输入当前字符,输入字符校验 * 1.23E+08 就表示 1.23 乘 10 的 8 次方 * 2e3 表示 2 乘 10 的 3 次方 */ export declare function canInputNumber(number: string, largeNumber: boolean): boolean; /** * 是否允许设置组件新值,触发 onChange 事件 */ export declare function canSetValue(number: string, lastNumber: number): boolean; /** * 1. 格式化未输入完成的数字,如:如:2e/2+/2.等 * 2. 处理小数点 decimalPlaces * 3. 格式化大数字 formatENumber */ export declare function formatUnCompleteNumber(number: string, extra?: { decimalPlaces?: InputNumberDecimalPlaces; largeNumber?: boolean; isToFixed?: boolean; }): number | string; /** * 对千分位进行处理 111,111,222 -> 111111222 */ export declare function formatThousandths(number: string): string;