import { BigNumber, BigNumberish } from 'ethers'; import { FundFlow, Pending } from '../types'; export declare function mulDivRoundingUp(a: BigNumber, b: BigNumber, denominator: BigNumber): BigNumber; export declare function mulShift(val: BigNumber, mulBy: string): BigNumber; export declare function multiplyIn256(x: BigNumber, y: BigNumber): BigNumber; export declare function addIn256(x: BigNumber, y: BigNumber): BigNumber; export declare function oppositeSigns(x: BigNumber, y: BigNumber): boolean; export declare function mostSignificantBit(x: BigNumber): number; export declare function sqrt(value: BigNumber): BigNumber; export declare function roundHalfUp(x: BigNumber, y: BigNumber): BigNumber; export declare function neg(x: BigNumber): BigNumber; export declare function signedDiv(x: number, y: number): number; export declare function wdiv(x: BigNumber, y: BigNumber): BigNumber; export declare function safeWDiv(x: BigNumber, y: BigNumber): BigNumber; export declare function wdivUp(x: BigNumber, y: BigNumber): BigNumber; export declare function wdivDown(x: BigNumber, y: BigNumber): BigNumber; export declare function wmul(x: BigNumber, y: BigNumber): BigNumber; export declare function wmulInt(x: BigNumber, y: BigNumber): BigNumber; export declare function wmulUp(x: BigNumber, y: BigNumber): BigNumber; export declare function wmulDown(x: BigNumber, y: BigNumber): BigNumber; export declare function fracUp(x: BigNumber, y: BigNumber, w: BigNumber): BigNumber; export declare function fracDown(x: BigNumber, y: BigNumber, w: BigNumber): BigNumber; export declare function frac(x: BigNumber, y: BigNumber, w: BigNumber): BigNumber; export declare function weightedAverage(w1: BigNumber, x1: BigNumber, w2: BigNumber, x2: BigNumber): BigNumber; export declare function r2w(x: BigNumberish): BigNumber; export declare function s2w(x: BigNumberish): BigNumber; export declare function d2w(x: BigNumber, decimals: number): BigNumber; export declare function w2d(x: BigNumber, decimals: number): BigNumber; export declare function mulMod(x: BigNumber, y: BigNumber, d: BigNumber): BigNumber; export declare function fullMul(x: BigNumber, y: BigNumber): { l: BigNumber; h: BigNumber; }; export declare function fullDiv(l: BigNumber, h: BigNumber, d: BigNumber): BigNumber; export declare function mulDiv(x: BigNumber, y: BigNumber, d: BigNumber): BigNumber; export declare function sqrtX96ToWad(sqrtPX96: BigNumberish): BigNumber; export declare function wadToSqrtX96(price: BigNumber): BigNumber; export declare function wadToTick(price: BigNumber): number; export declare function leastSignificantBit(x: BigNumber): number; export declare function leastNonnegativeRemainder(x: number, modulus: number): number; export declare function leastNonnegativeComplement(x: number, modulus: number): number; export declare function maxAmongThree(a: BigNumber, b: BigNumber, c: BigNumber): BigNumber; export declare function max(left: BigNumber, right: BigNumber): BigNumber; export declare function min(left: BigNumber, right: BigNumber): BigNumber; export declare function relativeDiffRatioWadAbs(wadA: BigNumber, wadB: BigNumber): BigNumber; export declare function getOrderLeverageByMargin(targetTick: number, baseSize: BigNumber, margin: BigNumber): BigNumber; export declare function getMaxLeverage(imr: number): number; export declare function getMinOrderMargin(targetPrice: BigNumber, markPrice: BigNumber, baseSize: BigNumber, imr: number, slippage?: number): BigNumber; export declare function calcMaxWithdrawable(threshold: BigNumber, pending: Pending, fundFlow: FundFlow, reserve: BigNumber): BigNumber; export declare function alignPriceToTick(price: BigNumber): { tick: number; price: BigNumber; }; export declare function calcBoost(alpha: number, imr: number): number; export declare function calcAsymmetricBoost(alphaLower: number, alphaUpper: number, imr: number): number; //# sourceMappingURL=basic.d.ts.map