import type { FCurrency, FdoDecimal, FdoDinero } from '@feedmepos/core/entity'; import type { FormatNumberOptions } from './type'; export type AdjustmentAmount = FdoDecimal; export declare function zeroDinero(currency: FCurrency): FdoDinero; export declare function formatNumber(number: number, factor: number, precision: number): number; export declare function numberWithCommas(x: number): string; export declare function normalizeDecimal(a: AdjustmentAmount): T; export declare function adjustmentAmountConvertPrecision(a: AdjustmentAmount, precision: number): AdjustmentAmount; export declare function adjustmentAmountSubtract(a: AdjustmentAmount, b: AdjustmentAmount): AdjustmentAmount; export declare function adjustmentAmountAdd(a: AdjustmentAmount, b: AdjustmentAmount): AdjustmentAmount; export declare function adjustmentAmountMultiply(a: AdjustmentAmount, multiplier: AdjustmentAmount): AdjustmentAmount; export declare function adjustmentAmountMultiplyDecimal(left: AdjustmentAmount, right: AdjustmentAmount): AdjustmentAmount; export declare function adjustmentAmountDivide(a: AdjustmentAmount, divisor: AdjustmentAmount): number; export declare function adjustmentAmountDivideDecimal(a: AdjustmentAmount, divisor: AdjustmentAmount): AdjustmentAmount; export declare function upgradePrecision(a: FdoDecimal, minimumPrecision: number): { amount: number; precision: number; }; export declare function trimPrecision(decimal: FdoDecimal): { amount: number; precision: number; }; export declare function adjustmentAmountFormat(a: AdjustmentAmount, toPrecision?: boolean): string; /** Trims the number to the least precision possible */ export declare function numberFormatTrimPrecision(amount: number, precision?: number): string; export declare function adjustmentCurrencyFormat(a: FdoDinero, asSuffix?: boolean, precision?: number): string; export declare function adjustmentAmountAbs(a: AdjustmentAmount): AdjustmentAmount; export declare function getPrecision(a: number): number; export declare function toAdjustmentAmount(a: number): AdjustmentAmount; export declare function toAdjustmentWithPrecision(amt: string | number, precision?: number, allowNegative?: boolean): { amount: number; precision: number; }; export declare function countDivisibleByTrailingZero(n: number | BigInt): number; /** * Returns the valid precision for a base unit or a converted measurement. * Documentation at: https://www.notion.so/feedmepos/Precision-Handling-Logic-8e2211106b4a4a0f9fae8ee9c1e897da?pvs=4 */ export declare function getAllowedPrecision(unit: FdoInventoryUnit, measurement?: FdoUnitMeasurement | null): number; export declare const isNumeric: (value: any) => boolean | 0; export declare function formatToLocale(value: number | string | AdjustmentAmount, options?: FormatNumberOptions): string;