import type { GNSMultiCollatDiamond } from "../../../contracts/types/generated"; import type { TradeInitialAccFees } from "."; /** * @dev Fetches pending accumulated funding fees for a specific pair * @param contract GNSMultiCollatDiamond contract instance * @param collateralIndex Collateral index * @param pairIndex Pair index * @param currentPairPrice Current pair price (1e10) * @returns Promise resolving to accumulated funding fees and current rate */ export declare const fetchPairPendingAccFundingFees: (contract: GNSMultiCollatDiamond, collateralIndex: number, pairIndex: number, currentPairPrice: bigint) => Promise<{ accFundingFeeLongP: number; accFundingFeeShortP: number; currentFundingRatePerSecondP: number; }>; /** * @dev Fetches funding fees for a specific trade in collateral tokens * @param contract GNSMultiCollatDiamond contract instance * @param trader Trader address * @param index Trade index * @param currentPairPrice Current pair price (1e10) * @returns Promise resolving to funding fee in collateral tokens */ export declare const fetchTradeFundingFeesCollateral: (contract: GNSMultiCollatDiamond, trader: string, index: number, currentPairPrice: bigint) => Promise; /** * @dev Fetches trade fees data for a specific trade * @param contract GNSMultiCollatDiamond contract instance * @param trader Trader address * @param index Trade index * @returns Promise resolving to trade fees data */ export declare const fetchTradeFeesData: (contract: GNSMultiCollatDiamond, trader: string, index: number) => Promise; /** * @dev Fetches trade fees data for multiple trades * @param contract GNSMultiCollatDiamond contract instance * @param traders Array of trader addresses * @param indices Array of trade indices * @returns Promise resolving to array of trade fees data */ export declare const fetchTradeFeesDataBatch: (contract: GNSMultiCollatDiamond, traders: string[], indices: number[]) => Promise; /** * @dev Fetches pending accumulated funding fees for multiple pairs * @param contract GNSMultiCollatDiamond contract instance * @param collateralIndices Array of collateral indices * @param pairIndices Array of pair indices * @param currentPairPrices Array of current pair prices (1e10) * @returns Promise resolving to array of accumulated funding fees */ export declare const fetchPairPendingAccFundingFeesBatch: (contract: GNSMultiCollatDiamond, collateralIndices: number[], pairIndices: number[], currentPairPrices: bigint[]) => Promise>; /** * @dev Helper to convert price from number to contract format * @param price Price as number * @returns Price in contract format (1e10) */ export declare const priceToContractFormat: (price: number) => bigint; /** * @dev Helper to convert collateral amount to contract format * @param amount Amount as number * @param decimals Collateral decimals (6 for USDC, 18 for others) * @returns Amount in contract format */ export declare const collateralToContractFormat: (amount: number, decimals: number) => bigint;