import { TokenMetadata, WarpRouteDeployConfigMailboxRequired } from '../token/types.js'; /** * Lossless scale representation using bigint. * On-chain values and internal comparisons always use this form. */ export type NormalizedScale = { numerator: bigint; denominator: bigint; }; /** * Any scale variant the Zod schema can produce: * - `number` (e.g. `scale: 1000`) * - `{numerator: number, denominator: number}` * - `{numerator: bigint, denominator: bigint}` */ export type ScaleInput = TokenMetadata['scale']; export declare const DEFAULT_SCALE: NormalizedScale; /** * Converts any accepted scale variant to NormalizedScale (bigint). */ export declare function normalizeScale(scale: ScaleInput | undefined): NormalizedScale; /** * Compares two scale values for equality without precision loss. * Accepts any scale variant (number, {number,number}, {bigint,bigint}, undefined). * Uses cross-multiplication: a/b === c/d iff a*d === b*c */ export declare function scalesEqual(a: ScaleInput | undefined, b: ScaleInput | undefined): boolean; export declare function verifyScale(configMap: Map | WarpRouteDeployConfigMailboxRequired): boolean; //# sourceMappingURL=decimals.d.ts.map