import { BigNumber } from 'ethers'; import { RawOrder, RawPosition, RawRange, RawAmm, Instrument, Position, Amm, Range, Order } from '../types'; import { Side } from '../enum'; export declare function positionLiquidationPrice(position: RawPosition | Position, amm?: RawAmm | Amm, maintenanceMarginRatio?: number): BigNumber; export declare function positionUnrealizedSocialLoss(position: RawPosition | Position, amm: RawAmm | Amm): BigNumber; export declare function positionUnrealizedPnl(position: RawPosition | Position, amm: RawAmm | Amm): BigNumber; export declare function positionUnrealizedPnlByFairPrice(position: RawPosition | Position, amm: RawAmm | Amm): BigNumber; export declare function positionUnrealizedFundingFee(position: RawPosition | Position, amm: RawAmm | Amm): BigNumber; export declare function positionEquity(position: RawPosition | Position, amm: RawAmm | Amm): BigNumber; export declare function positionLeverage(position: RawPosition | Position, amm: RawAmm | Amm): BigNumber; export declare function positionMaxWithdrawableMargin(position: RawPosition | Position, amm: RawAmm | Amm, initialMarginRatio: number): BigNumber; export declare function positionAdditionMarginToIMRSafe(position: RawPosition | Position, amm: RawAmm | Amm, initialMarginRatio: number, increase: boolean, slippage?: number): BigNumber; export declare function isPositionIMSafe(position: RawPosition | Position, amm: RawAmm | Amm, initialMarginRatio: number, increase: boolean): boolean; export declare function isPositionMMSafe(position: RawPosition | Position, amm: RawAmm | Amm, maintenanceMarginRatio: number): boolean; export declare function rangeEntryDeltaBase(range: RawRange | Range): BigNumber; export declare function rangeEntryDeltaQuote(range: RawRange | Range): BigNumber; export declare function rangeToPosition(range: Range, amm: Amm | RawAmm): Position; export declare function rangeToPosition(range: RawRange, amm: Amm | RawAmm): RawPosition; export declare function rangeValueLocked(range: RawRange | Range, amm: RawAmm | Amm): BigNumber; export declare function rangeFeeEarned(range: RawRange | Range, amm: RawAmm | Amm): BigNumber; export declare function rangeLowerPositionIfRemove(range: Range, amm: RawAmm | Amm): Position; export declare function rangeLowerPositionIfRemove(range: RawRange, amm: RawAmm | Amm): RawPosition; export declare function rangeUpperPositionIfRemove(range: Range, amm: RawAmm | Amm): Position; export declare function rangeUpperPositionIfRemove(range: RawRange, amm: RawAmm | Amm): RawPosition; export declare function orderToPosition(order: Order): Position; export declare function orderToPosition(order: RawOrder): RawPosition; export declare function orderLeverage(order: RawOrder | Order, amm: RawAmm | Amm): BigNumber; export declare function orderEquity(order: RawOrder | Order, amm: RawAmm | Amm): BigNumber; export declare function ammPlaceOrderLimit(amm: RawAmm | Amm, initialMarginRatio: number): { upperTick: number; lowerTick: number; }; export declare function ammPlaceCrossMarketOrderLimit(amm: RawAmm | Amm, maintenanceMarginRatio: number): { upperTick: number; lowerTick: number; }; export declare function ammWithinDeviationLimit(amm: RawAmm | Amm, initialMarginRatio: number): boolean; export declare function getMinLiquidity(instrument: Instrument, expiry: number, px96?: BigNumber): BigNumber; export declare function getFundingRate(instrument: Instrument, expiry: number): BigNumber; export declare function getBenchmarkPrice(instrument: Instrument, expiry: number): BigNumber; export declare function estimateAPY(instrument: Instrument, expiry: number, poolFee24h: BigNumber, alphaWad: BigNumber): number; export declare function estimateAdjustMarginLeverage(position: RawPosition | Position, amm: RawAmm | Amm, amount: BigNumber): BigNumber; export declare function inquireLeverageFromTransferAmount(position: RawPosition | Position, amm: RawAmm | Amm, transferIn: boolean, transferAmount: BigNumber): BigNumber; export declare function inquireTransferAmountFromTargetLeverage(position: RawPosition | Position, amm: RawAmm | Amm, targetLeverage: BigNumber): BigNumber; export declare function calcLimitOrderTickBoundary(amm: RawAmm | Amm, initialMarginRatio: number, side: Side): { upperTick: number; lowerTick: number; }; export declare function calcCrossMarketOrderTickBoundary(amm: RawAmm | Amm, initialMarginRatio: number, maintenanceMarginRatio: number, side: Side): { upperTick: number; lowerTick: number; }; //# sourceMappingURL=calculation.d.ts.map