export declare const MAX_BPS = 10000n; /** * Maximum decimal places supported for fractional bps values. * The precision scaling in convertToBps/convertFromBps uses 10^MAX_BPS_DECIMALS * as a multiplier. Values with more decimal places will be rejected to prevent * silent precision loss during bigint arithmetic. */ export declare const MAX_BPS_DECIMALS = 4; /** * Bigint precision multiplier for fractional bps arithmetic. * Equals 10^MAX_BPS_DECIMALS = 10_000n. */ export declare const BPS_PRECISION: bigint; /** * Returns true if bps has at most MAX_BPS_DECIMALS decimal places. * Uses epsilon comparison to avoid IEEE 754 false positives * (e.g. 0.3 * 10000 = 2999.9999... which strict equality would wrongly reject). */ export declare function isBpsPrecisionValid(bps: number): boolean; /** * Validates that a bps value does not exceed MAX_BPS_DECIMALS decimal places. * @throws Error if bps has too many decimal places */ export declare function assertBpsPrecision(bps: number): void; /** * Assumed maximum transfer amount for zero-supply tokens. * 10^36 is astronomically large (10^18 tokens with 18 decimals). * This ensures maxFee * amount won't overflow for any realistic transfer * in the LinearFee contract's _quoteTransfer calculation. */ export declare const ASSUMED_MAX_AMOUNT_FOR_ZERO_SUPPLY: bigint; /** * Converts fee parameters to basis points (BPS) * @param maxFee - Maximum fee amount * @param halfAmount - Half of the amount at which maxFee is applied * @returns Fee in basis points (up to MAX_BPS_DECIMALS decimal places) * @throws Error if halfAmount is zero to prevent division by zero */ export declare function convertToBps(maxFee: bigint, halfAmount: bigint): number; //# sourceMappingURL=utils.d.ts.map