import type { GNSMultiCollatDiamond } from "../../../contracts/types/generated"; import type { PairOiToken, SkewPriceImpactContext } from "./types"; /** * @dev Fetches pair open interest in tokens for a specific pair * @param contract GNSMultiCollatDiamond contract instance * @param collateralIndex Collateral index * @param pairIndex Pair index * @returns Promise resolving to pair OI in tokens */ export declare const fetchPairOiAfterV10Token: (contract: GNSMultiCollatDiamond, collateralIndex: number, pairIndex: number) => Promise; /** * @dev Fetches pair open interest in tokens for multiple pairs * @param contract GNSMultiCollatDiamond contract instance * @param collateralIndices Array of collateral indices * @param pairIndices Array of pair indices * @returns Promise resolving to array of pair OI in tokens */ export declare const fetchPairOisAfterV10Token: (contract: GNSMultiCollatDiamond, collateralIndices: number[], pairIndices: number[]) => Promise; /** * @dev Fetches skew depth for a specific pair * @param contract GNSMultiCollatDiamond contract instance * @param collateralIndex Collateral index * @param pairIndex Pair index * @returns Promise resolving to normalized skew depth */ export declare const fetchPairSkewDepth: (contract: GNSMultiCollatDiamond, collateralIndex: number, pairIndex: number) => Promise; /** * @dev Fetches skew depths for multiple pairs * @param contract GNSMultiCollatDiamond contract instance * @param collateralIndices Array of collateral indices * @param pairIndices Array of pair indices * @returns Promise resolving to array of normalized skew depths */ export declare const fetchPairSkewDepths: (contract: GNSMultiCollatDiamond, collateralIndices: number[], pairIndices: number[]) => Promise; /** * @dev Fetches skew price impact context for a single pair * @param contract GNSMultiCollatDiamond contract instance * @param collateralIndex Collateral index * @param pairIndex Pair index * @returns Promise resolving to skew price impact context */ export declare const fetchSkewPriceImpactContext: (contract: GNSMultiCollatDiamond, collateralIndex: number, pairIndex: number) => Promise; /** * @dev Fetches collateral decimals for given collateral indices * @param contract GNSMultiCollatDiamond contract instance * @param collateralIndices Array of collateral indices * @returns Promise resolving to array of decimals */ export declare const fetchCollateralDecimals: (contract: GNSMultiCollatDiamond, collateralIndices: number[]) => Promise; /** * @dev Calculates skew price impact for a trade using contract call * @param contract GNSMultiCollatDiamond contract instance * @param collateralIndex Collateral index * @param pairIndex Pair index * @param long Whether trade is long * @param positionSizeToken Position size in tokens * @param open Whether trade is opening * @returns Promise resolving to price impact percentage (1e10) */ export declare const calculateTradeSkewPriceImpact: (contract: GNSMultiCollatDiamond, collateralIndex: number, pairIndex: number, long: boolean, positionSizeToken: number, open: boolean) => Promise;