/// import { BN } from '@coral-xyz/anchor'; import { OraclePriceData } from '../oracles/types'; import { PerpMarketAccount, PerpPosition } from '..'; export declare function calculateSizePremiumLiabilityWeight(size: BN, // AMM_RESERVE_PRECISION imfFactor: BN, liabilityWeight: BN, precision: BN): BN; export declare function calculateSizeDiscountAssetWeight(size: BN, // AMM_RESERVE_PRECISION imfFactor: BN, assetWeight: BN): BN; export declare function calculateOraclePriceForPerpMargin(perpPosition: PerpPosition, market: PerpMarketAccount, oraclePriceData: OraclePriceData): BN; /** * This is _not_ the same as liability value as for prediction markets, the liability for the short in prediction market is (1 - oracle price) * base * See {@link calculatePerpLiabilityValue} to get the liabiltiy value * @param market * @param perpPosition * @param oraclePriceData * @param includeOpenOrders */ export declare function calculateBaseAssetValueWithOracle(market: PerpMarketAccount, perpPosition: PerpPosition, oraclePriceData: OraclePriceData, includeOpenOrders?: boolean): BN; export declare function calculateWorstCaseBaseAssetAmount(perpPosition: PerpPosition, perpMarket: PerpMarketAccount, oraclePrice: BN): BN; export declare function calculateWorstCasePerpLiabilityValue(perpPosition: PerpPosition, perpMarket: PerpMarketAccount, oraclePrice: BN): { worstCaseBaseAssetAmount: BN; worstCaseLiabilityValue: BN; }; export declare function calculatePerpLiabilityValue(baseAssetAmount: BN, oraclePrice: BN, isPredictionMarket: boolean): BN;