import { AssetId, InstrumentWithRiskParameters, RiskParameters, MarginResponse, Margin, MarginResponseMinimized, InstrumentWithRiskAndPoolParameters } from "../interfaces"; import { ContractAmount, InstrumentAmount, NetUserPosition } from "./instrumentAmount"; import { PicoUsdAmount } from "./usdPrice"; import { MarketPrice } from "./marketPrices"; import { OrderSide } from "../interfaces"; import { RiskFactors } from "../contracts/index"; export type ExcessMargin = bigint; export declare const PRICE_RESCALE_FACTOR: bigint; export declare function toMarginResponse(margin: Margin): MarginResponse; export declare function toMarginResponseMinimized(margin: Margin): MarginResponseMinimized; export interface UserMarginDetails { isInitialMargin: boolean; } export interface UserInfoForInstrument { availableMargin: PicoUsdAmount; cashBalance: ContractAmount; availableCash: ContractAmount; liability: ContractAmount; lend: ContractAmount; unoffsetLiability: ContractAmount; shortfall: ContractAmount; } export declare function getInstrumentMarginDetails(instrumentData: InstrumentWithRiskParameters, userMarginCalculation: Margin, userPosition: NetUserPosition): UserInfoForInstrument; export declare function availableForTrade(sellInfo: InstrumentWithRiskParameters, buyInfo: InstrumentWithRiskParameters, marginCalculation: Margin, userPosition: NetUserPosition): InstrumentAmount; export declare function calculateMarketOrderSlippage(orderSide: OrderSide, orderPrice: MarketPrice, priceTick: MarketPrice, minPrice?: MarketPrice, maxPrice?: MarketPrice, prefix?: string | undefined): MarketPrice; export declare function availableForTradePriceAdjusted(sellInfo: InstrumentWithRiskParameters, buyInfo: InstrumentWithRiskParameters, marginCalculation: Margin, orderPrice: MarketPrice, userPosition: NetUserPosition): InstrumentAmount; export declare function toRiskFactors(riskParameters: RiskParameters): RiskFactors; export declare function getRF(instrument: InstrumentWithRiskParameters, initial: boolean): RiskFactors; export declare function marginWithoutOrders(position: NetUserPosition, instruments: Map, prices: Map, initial?: boolean): Margin; /** * Calculates position health in miliUSDs (same as we are doing onchain) */ export declare function positionHealth(availableCash: Map, poolBalances: Map, instruments: Map, prices: Map, initial: boolean): Margin; //# sourceMappingURL=risk.d.ts.map