import { BigNumber } from 'ethers'; import { RawOrder, RawPosition, ContractRecord, RawAmm } from '../types'; import { BatchOrderSizeDistribution, FeederType } from '../enum'; export declare function getLatestFundingIndex(amm: RawAmm, markPrice: BigNumber, timestamp: number): { longFundingIndex: BigNumber; shortFundingIndex: BigNumber; }; export declare function updateFundingIndex(amm: RawAmm, mark: BigNumber, timestamp: number): { longFundingIndex: BigNumber; shortFundingIndex: BigNumber; }; export declare function withinOrderLimit(limitPrice: BigNumber, markPrice: BigNumber, imr: number): boolean; export declare function withinDeviationLimit(fairPrice: BigNumber, markPrice: BigNumber, imr: number): boolean; export declare function calcBenchmarkPrice(expiry: number, rawSpotPrice: BigNumber, feederType: FeederType, dailyInterestRate: number): BigNumber; export declare function calcMinTickDelta(initialMarginRatio: number): number; export declare function getBatchOrderRatios(sizeDistribution: BatchOrderSizeDistribution, orderCount: number): number[]; export declare function requiredMarginForOrder(limit: BigNumber, sizeWad: BigNumber, ratio: number): BigNumber; export declare function fillOrderToPosition(pearlNonce: number, pearlTaken: BigNumber, pearlFee: BigNumber, pearlSocialLoss: BigNumber, pearlFundingIndex: BigNumber, order: RawOrder, tick: number, nonce: number, fillSize: BigNumber, record: ContractRecord): RawPosition; export declare function cancelOrderToPosition(pearlLeft: BigNumber, pearlNonce: number, pearlTaken: BigNumber, pearlFee: BigNumber, pearlSocialLoss: BigNumber, pearlFundingIndex: BigNumber, order: RawOrder, tick: number, nonce: number, record: ContractRecord): RawPosition; export declare function tally(amm: RawAmm, position: RawPosition, mark: BigNumber): { equity: BigNumber; pnl: BigNumber; socialLoss: BigNumber; }; export declare function calcLiquidationPrice(amm: RawAmm, position: RawPosition, maintenanceMarginRatio?: number): BigNumber; export declare function calculatePriceFromPnl(amm: RawAmm, position: RawPosition, pnl: BigNumber): BigNumber; export declare function calcFundingFee(amm: RawAmm, position: RawPosition): BigNumber; export declare function calcPnl(amm: RawAmm, position: RawPosition, mark: BigNumber): BigNumber; export declare function realizeFundingWithPnl(amm: RawAmm, pos: RawPosition): { position: RawPosition; pnl: BigNumber; }; export declare function realizeFundingIncome(amm: RawAmm, pos: RawPosition): RawPosition; export declare function realizeSocialLoss(amm: RawAmm, pos: RawPosition): { position: RawPosition; socialLoss: BigNumber; }; export declare function combine(amm: RawAmm, position_1: RawPosition, position_2: RawPosition): { position: RawPosition; closedSize: BigNumber; realized: BigNumber; }; export declare function splitPosition(pos: RawPosition, partSize: BigNumber): { partPos: RawPosition; finalPos: RawPosition; }; export declare function entryDelta(sqrtEntryPX96: BigNumber, tickLower: number, tickUpper: number, entryMargin: BigNumber, initialMarginRatio: number): { deltaBase: BigNumber; deltaQuote: BigNumber; liquidity: BigNumber; }; export declare function alignRangeTick(tick: number, lower: boolean): number; export declare function getLiquidityFromMarginByUpper(sqrtEntryPX96: BigNumber, sqrtUpperPX96: BigNumber, entryMargin: BigNumber, initialMarginRatio: number): BigNumber; export declare function getLiquidityFromMarginByLower(sqrtEntryPX96: BigNumber, sqrtLowerPX96: BigNumber, entryMargin: BigNumber, initialMarginRatio: number): BigNumber; export declare function getMarginFromLiquidity(sqrtEntryPX96: BigNumber, tickUpper: number, liquidity: BigNumber, initialMarginRatio: number): BigNumber; //# sourceMappingURL=lowLevel.d.ts.map