import BN from 'bn.js'; import BigNumber from 'bignumber.js'; import { CustodyInfo } from '../types'; import { Position } from './structs'; export declare const USD_POWER: BN; export declare const USD_POWER_BIGN: BigNumber; export type CustodyBn = Omit & { decreasePositionBps: BN; pricing: { tradeImpactFeeScalar: BN; maxLeverage: BN; }; fundingRateState: { hourlyFundingBps: BN; lastUpdate: BN; cumulativeInterestRate: BN; }; jumpRateState: { minRateBps: BN; maxRateBps: BN; targetRateBps: BN; targetUtilizationRate: BN; }; assets: { feesReserves: BN; owned: BN; locked: BN; guaranteedUsd: BN; globalShortSizes: BN; globalShortAveragePrices: BN; }; }; export type PositionBn = Omit & { price: BN; collateralUsd: BN; sizeUsd: BN; cumulativeInterestSnapshot: BN; }; export declare function custodyToBN(custody: CustodyInfo): CustodyBn; export declare function positionToBn(position: Position): PositionBn; export declare const getFeeAmount: (baseFeeBps: BN, amount: BN, tradeImpactFeeScalar: BN) => BN; export declare const getLiquidationPrice: (position: PositionBn, custody: CustodyBn, collateralCustody: CustodyBn, curtime: BN) => BN;