/// import type { GNSMultiCollatDiamond } from "../../../contracts/types/generated"; import { BorrowingFeeV2 } from "."; /** * @dev Fetches borrowing fee parameters v2 for specific pairs * @param contract GNSMultiCollatDiamond contract instance * @param collateralIndices Array of collateral indices * @param pairIndices Array of pair indices * @returns Promise resolving to array of borrowing fee parameters */ export declare const fetchBorrowingFeeParamsV2: (contract: GNSMultiCollatDiamond, collateralIndices: number[], pairIndices: number[]) => Promise; /** * @dev Fetches pair borrowing fee data v2 for specific 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 borrowing fee data */ export declare const fetchPairBorrowingFeeDataV2: (contract: GNSMultiCollatDiamond, collateralIndices: number[], pairIndices: number[]) => Promise; /** * @dev Fetches borrowing fees in collateral tokens for a specific trade * @param contract GNSMultiCollatDiamond contract instance * @param trader Address of the trader * @param index Trade index * @param currentPairPrice Current price of the trading pair (1e6 precision) * @returns Promise resolving to borrowing fees in collateral tokens */ export declare const fetchTradeBorrowingFeesCollateralV2: (contract: GNSMultiCollatDiamond, trader: string, index: number, currentPairPrice: number) => Promise; /** * @dev Fetches pending accumulated borrowing fees for a specific pair * @param contract GNSMultiCollatDiamond contract instance * @param collateralIndex Index of the collateral * @param pairIndex Index of the trading pair * @param currentPairPrice Current price of the trading pair (1e6 precision) * @returns Promise resolving to pending accumulated borrowing fee */ export declare const fetchPairPendingAccBorrowingFeesV2: (contract: GNSMultiCollatDiamond, collateralIndex: number, pairIndex: number, currentPairPrice: number) => Promise; /** * @dev Convenience function to fetch all borrowing v2 data for specific pairs * @param contract GNSMultiCollatDiamond contract instance * @param collateralIndex Index of the collateral * @param pairIndices Array of pair indices * @returns Promise resolving to complete borrowing v2 data set */ export declare const fetchAllBorrowingV2Data: (contract: GNSMultiCollatDiamond, collateralIndex: number, pairIndices: number[]) => Promise<{ params: BorrowingFeeV2.BorrowingFeeParams[]; data: BorrowingFeeV2.PairBorrowingFeeData[]; context: BorrowingFeeV2.GetBorrowingFeeV2Context; }>; /** * @dev Creates a complete borrowing v2 context from contract data * @param contract GNSMultiCollatDiamond contract instance * @param collateralIndex Index of the collateral * @param pairIndices Array of pair indices * @param currentTimestamp Optional current timestamp for calculations * @returns Promise resolving to complete borrowing v2 context */ export declare const createBorrowingV2ContextFromContract: (contract: GNSMultiCollatDiamond, collateralIndex: number, pairIndices: number[], currentTimestamp?: number) => Promise; /** * @dev Helper function to create context from already fetched arrays * @param collateralIndices Array of collateral indices * @param pairIndices Array of pair indices * @param params Array of borrowing fee parameters * @param data Array of pair borrowing fee data * @param currentTimestamp Optional current timestamp * @returns Complete borrowing v2 context */ export declare const createBorrowingV2ContextFromArrays: (collateralIndices: number[], pairIndices: number[], params: BorrowingFeeV2.BorrowingFeeParams[], data: BorrowingFeeV2.PairBorrowingFeeData[], currentTimestamp?: number) => BorrowingFeeV2.GetBorrowingFeeV2Context; /** * @dev Fetches borrowing v2 data for multiple collateral/pair combinations * @param contract GNSMultiCollatDiamond contract instance * @param collateralIndices Array of collateral indices * @param pairIndices Array of pair indices (must match collateralIndices length) * @returns Promise resolving to complete borrowing v2 context */ export declare const fetchBorrowingV2DataForPairs: (contract: GNSMultiCollatDiamond, collateralIndices: number[], pairIndices: number[]) => Promise;