import { default as Big } from 'big.js'; /** 进位方式:向下取整、向上取整、四舍五入 */ export type FormattedNumberRounding = 'floor' | 'ceil' | 'round'; /** * 将数字字符串安全解析为 Big 实例。 * 自动去除末尾小数点(如 "12." → Big(12)),解析失败返回 null。 */ export declare function toBig(s: string): Big | null; /** 仅保留数字、至多一个小数点、可选前导负号 */ export declare function sanitizeNumericInput(raw: string): string; export declare function stripNumberGrouping(s: string): string; /** * 对已清洗的数字串按整数位、小数位截断输入长度(inputLimit 为 true 时使用)。 * 整数部分至多 integerDigits 位,小数部分至多 decimalPlaces 位;保留末尾仅小数点(如 `12.`)以便继续输入。 */ export declare function applyNumericInputDigitLimits(sanitized: string, integerDigits: number, decimalPlaces: number): string; /** 按整数位数上限约束绝对值 */ export declare function clampByIntegerDigits(value: Big, integerDigits: number, decimalPlaces: number): Big; /** 按小数位与进位方式舍入 */ export declare function roundToDecimals(value: Big, decimalPlaces: number, rounding: FormattedNumberRounding): Big; /** * 解析 → 按整数位夹紧 → 按小数位与进位方式舍入 → 再夹紧(防止舍入后越界) */ export declare function normalizeNumericValue(value: Big, integerDigits: number, decimalPlaces: number, rounding: FormattedNumberRounding): Big; /** * 固定小数位数字符串(无千分位),用于表单存值以保留配置的小数位数。 */ export declare function toFixedDecimalString(value: Big, decimalPlaces: number): string; /** 千分位格式化展示(整数部分),小数部分固定 m 位 */ export declare function formatWithThousands(value: Big, decimalPlaces: number): string; /** 编辑态:无千分位,去掉多余尾部 0(在 m 位精度内) */ export declare function numberToEditString(value: Big, decimalPlaces: number): string;