/** * @dev Skew price impact calculations for v10+ trades * @dev Based on formula: (existingSkew + tradeSize/2) / skewDepth */ import { PairOiToken, SkewPriceImpactInput, SkewPriceImpactResult, SkewPriceImpactContext } from "./types"; /** * @dev Calculates net skew in tokens (long - short) * @param pairOi Pair OI data with long and short token amounts * @returns Net skew in tokens (positive = long heavy, negative = short heavy) */ export declare const getNetSkewToken: (pairOi: PairOiToken) => number; /** * @dev Calculates net skew in collateral * @param netSkewToken Net skew in tokens * @param currentPrice Current pair price * @returns Net skew in collateral */ export declare const getNetSkewCollateral: (netSkewToken: number, currentPrice: number) => number; /** * @dev Determines trade direction impact on skew * @param long Is long position * @param open Is opening (true) or closing (false) * @returns Whether trade increases or decreases skew */ export declare const getTradeSkewDirection: (long: boolean, open: boolean) => boolean; /** * @dev Core skew price impact calculation * @param existingSkewToken Current net skew in tokens (signed) * @param tradeSizeToken Trade size in tokens (always positive) * @param skewDepth Skew depth in tokens * @param tradePositiveSkew Whether trade increases skew in its direction * @returns Price impact percentage (can be positive or negative) */ export declare const calculateSkewPriceImpactP: (existingSkewToken: number, tradeSizeToken: number, skewDepth: number, tradePositiveSkew: boolean) => number; /** * @dev Main function to calculate skew price impact for a trade * @param input Trade parameters * @param context Skew price impact context with depths and OI data * @returns Skew price impact result */ export declare const getTradeSkewPriceImpact: (input: SkewPriceImpactInput, context: SkewPriceImpactContext) => SkewPriceImpactResult; /** * @dev Calculate position sizes for partial operations * @param originalSizeCollateral Original position size in collateral * @param deltaCollateral Position size delta in collateral * @param originalSizeToken Original position size in tokens * @returns Delta in tokens proportional to collateral delta */ export declare const calculatePartialSizeToken: (originalSizeCollateral: number, deltaCollateral: number, originalSizeToken: number) => number; export * as SkewPriceImpact from "./types"; export * from "./converter"; export * from "./builder"; export * from "./fetcher";