import { type IFormatter } from "./xml.interfaces.js"; /** * */ export interface IXmlSerializerNumberOptions { /** * */ eps: number; /** * */ maxDecimalsCap?: number; /** * */ trimTrailingZeros?: boolean; /** * */ fixedDecimals?: number; /** * */ allowScientific?: boolean; /** * */ snapNearZero?: boolean; /** * */ zeroThreshold?: number; /** * */ perAttributeEps?: Record; } /** * */ export interface IXmlSerializerFormatOptions { /** * */ number?: IXmlSerializerNumberOptions; } export declare const DefaultXmlSerializerNumberOptions: Readonly; export declare const DefaultXmlSerializerFormatOptions: Readonly; /** *@param opts *@returns */ export declare function ResolveNumberOptions(opts?: IXmlSerializerNumberOptions): Required> & Pick & { maxDecimalsCap: number; trimTrailingZeros: boolean; allowScientific: boolean; snapNearZero: boolean; zeroThreshold: number; }; /** *@param opts *@returns */ export declare function ResolveFormatOptions(opts?: IXmlSerializerFormatOptions): { number: Required> & Pick & { maxDecimalsCap: number; trimTrailingZeros: boolean; allowScientific: boolean; snapNearZero: boolean; zeroThreshold: number; }; }; /** * */ export declare class NumberFormatter implements IFormatter { o: IXmlSerializerFormatOptions; private _o; /** * * @param o */ constructor(o: IXmlSerializerFormatOptions); /** * * @param x * @returns */ toString(x: number): string; private _clampInt; }