import { BigNumberish } from 'ethers' import { Factory } from './factory' import { AdapterType, Token, TokenMinimal, TokenPriceNode } from './token' import { VolatilitySurface } from './volatilitySurface' export interface TokenPairMinimal { name: string base: TokenMinimal quote: TokenMinimal priceOracleAddress: string } export interface TokenPair extends TokenPairMinimal { factory: Factory name: string quote: Token quoteAdapterType: AdapterType base: Token baseAdapterType: AdapterType priceOracleAddress: string price: BigNumberish totalValueLockedUSD?: BigNumberish } export interface TokenPairExtended extends TokenPair { quotePricingPath: TokenPriceNode[] basePricingPath: TokenPriceNode[] callSurface: VolatilitySurface putSurface: VolatilitySurface poolCount: BigNumberish vaultCount: BigNumberish openInterestETH: BigNumberish openInterestUSD: BigNumberish callOpenInterestETH: BigNumberish callOpenInterestUSD: BigNumberish putOpenInterestETH: BigNumberish putOpenInterestUSD: BigNumberish totalValueLockedETH: BigNumberish totalValueLockedUSD: BigNumberish callTotalValueLockedETH: BigNumberish callTotalValueLockedUSD: BigNumberish putTotalValueLockedETH: BigNumberish putTotalValueLockedUSD: BigNumberish volumeETH: BigNumberish volumeUSD: BigNumberish callVolumeETH: BigNumberish callVolumeUSD: BigNumberish putVolumeETH: BigNumberish putVolumeUSD: BigNumberish premiumsETH: BigNumberish premiumsUSD: BigNumberish callPremiumsETH: BigNumberish callPremiumsUSD: BigNumberish putPremiumsETH: BigNumberish putPremiumsUSD: BigNumberish exercisePayoutsETH: BigNumberish exercisePayoutsUSD: BigNumberish feeRevenueETH: BigNumberish feeRevenueUSD: BigNumberish protocolFeeRevenueETH: BigNumberish protocolFeeRevenueUSD: BigNumberish vxPremiaVotes: BigNumberish }