import BigIntWrapper from '@exodus/bigint'; import { CurrencyIdSymbol } from './constants.js'; import _isNumberUnit from './is-number-unit.js'; import type { ConversionUnitFn, ConversionUnitObject, NumberLike, Unit } from './types.js'; import type UnitType from './unit-type.js'; export type ToUnitArg = string | Unit; export default class NumberUnit { static create(num: NumberLike, unit: Unit): NumberUnit; static get [CurrencyIdSymbol](): string; static isInstance(instance: unknown): boolean; static [Symbol.hasInstance](instance: unknown): boolean; static isNumberUnit: typeof _isNumberUnit; _number: BigIntWrapper; unit: Unit; unitType: UnitType; baseUnit: Unit; defaultUnit: Unit; unitName: string; private _numberStringMap?; constructor(numberLike: NumberLike, unit: Unit); abs(): NumberUnit; add(num: NumberLike | NumberUnit): NumberUnit; clampLowerZero(): NumberUnit; clone(): NumberUnit; equals(num: NumberUnit): boolean; gt(num: NumberUnit): boolean; gte(num: NumberUnit): boolean; lt(num: NumberUnit): boolean; lte(num: NumberUnit): boolean; mul(num: NumberLike | NumberUnit): NumberUnit; div(num: NumberLike | NumberUnit): NumberUnit; floor(): NumberUnit; round(): NumberUnit; ceil(): NumberUnit; toFixed(x: number, rm?: 'floor' | 'ceil' | 'round' | string): NumberUnit; negate(): NumberUnit; sub(num: NumberLike | NumberUnit): NumberUnit; cast(unitType: UnitType): NumberUnit; toBase(): NumberUnit; toDefault(): NumberUnit; to(unit: ToUnitArg, conversionUnit?: ConversionUnitFn | ConversionUnitObject): NumberUnit; toJSON(): { value: string; unit: string; unitType: string; type: 'NumberUnit'; }; toNumber(unit?: Unit | string): number; toDefaultNumber(): number; toBaseNumber(): number; toBaseBufferLE(length?: number): Buffer; toBaseBufferBE(length?: number): Buffer; toNumberString(unit?: Unit | string): string; private _toNumberString; toString({ unit, format, unitInstance, }?: { unit?: boolean; format?: (s: string, u: Unit) => string; unitInstance?: Unit; }): string; toDefaultString({ unit }?: { unit?: boolean; }): string; toBaseString({ unit }?: { unit?: boolean; }): string; valueOf(): number; get value(): string; get isNegative(): boolean; get isPositive(): boolean; get isZero(): boolean; private _coerceToNumberUnit; }