import { ApolloClient, NormalizedCacheObject } from '@apollo/client/core'; import { TokenInfo } from '@premia/pair-lists/src/types'; import { BigNumberish } from 'ethers'; import { LiquidityPositionExtended, OptionPositionExtended, OptionPSTransaction, OrderType, Pool, PoolDayData, PoolExtended, PoolMinimal, Referral, StakeHistory, Tick, Token, TokenExtended, TokenPair, TokenPairExtended, Transaction, TradingCompetitionUser, User, UserExtended, UserPortfolio, UserPortfolioExtended, UserSnapshot, UserSnapshotExtended, UserStake, Vault, VaultDayData, VaultExtended, VaultPosition, VaultPositionExtended, VaultTransaction, VaultVote, VoteHistory } from '../../entities'; import { QueryParams } from '../../utils'; import { TokenOrAddress, TokenPairOrId } from '../../api'; export interface VoidnodeAuthentication { apiId: string; apiKey: string; } /** * The PremiaVoidnode class is the entry point for interacting with the Premia V3 voidnode server * to query on-chain and indexed data using various APIs and services. * * @public @alpha */ export declare class PremiaVoidnode { /** * The voidnode URL to use for fetching indexed contract data. */ uri: string; /** * The apollo voidnode client used to fetch data from the Premia voidnode server. * * @defaultValue {@link ApolloClient} */ client: ApolloClient; /** * The voidnode-specific parameters to be used for upcoming voidnode queries. * * @defaultValue `{}` (empty object) */ queryParams?: QueryParams; /** * Creates a new Premia V3 SDK instance. * * @remarks * The SDK needs to be initialized before it can be used with * non-default parameters. */ constructor(uri: string, authentication?: VoidnodeAuthentication); setQueryParams(queryParams: QueryParams): void; /** * Parses a token input to return a token address string. * * @param {TokenOrAddress} token - The token input which can be either a Token object or a string representing the address. * @returns {string} - The token address as a string. */ _parseTokenAddress(token: TokenOrAddress): string; _parsePairId(pair: TokenPairOrId): string; _parsePair(pair: TokenPairOrId): { quote: string; base: string; priceOracleAddress: string; }; tradeSide(isBuy: boolean): bigint; optionType(isCall: boolean): bigint; getVaultDayData(vaultAddress: string, startTime?: number, limit?: number, skip?: number): Promise; getPoolsOrderbookData(addresses: string[]): Promise; getPoolMinimal(address: string): Promise; getPool(address: string): Promise; getPoolExtended(address: string): Promise; getPools(baseAddress: string, isExpired?: boolean): Promise; getPoolsExtended(baseAddress: string, isExpired?: boolean): Promise; getAllPools(): Promise; getAllPoolsExtended(): Promise; getPoolsForToken(token: Token, isQuote?: boolean): Promise; getPoolsExtendedForToken(token: Token, isQuote?: boolean): Promise; getPoolsForPairId(id: string): Promise; getPoolsForPair(pair: TokenPairOrId, isExpired?: boolean): Promise; getPoolsExtendedForPair(pair: TokenPairOrId, options?: { strike?: BigNumberish; maturity?: BigNumberish; isExpired?: boolean; }): Promise; getTicksForPool(poolAddress: string): Promise; getQuotePools(tokenAddress: string, strike: BigNumberish, maturity: BigNumberish, isCall: boolean): Promise; getTick(normalizedPrice: BigNumberish, poolAddress: string): Promise; spotPrice(address: string): Promise; getToken(address: string): Promise; getTokenExtended(address: string): Promise; getTokens(tokens: string[]): Promise; getTokensExtended(tokens: string[]): Promise; getAllTokens(): Promise; getAllTokensExtended(): Promise; getTokenList(tokenList: TokenInfo[]): Promise; getTokenListExtended(tokenList: TokenInfo[]): Promise; getPair(pair: TokenPairOrId): Promise; getPairExtended(pair: TokenPairOrId): Promise; getPairs(pairs: TokenPairOrId[]): Promise; getPairsExtended(pairs: TokenPairOrId[]): Promise; getAllPairs(): Promise; getAllPairsExtended(): Promise; getTransaction(hash: string): Promise; getTransactions(filter: string, search: string, orderBy?: string, order?: string, limit?: number, skip?: number, type?: string, poolAddress?: string, account?: string, startTime?: number, endTime?: number, searchInput?: string): Promise; getVaultTransaction(hash: string): Promise; getVaultTransactions(filter: string, search: string, orderBy?: string, order?: string, limit?: number, skip?: number, type?: string, vaultAddress?: string, account?: string, startTime?: number, endTime?: number, searchInput?: string): Promise; getOptionPSTransaction(hash: string): Promise; getOptionPSTransactions(search: string, orderBy?: string, order?: string, limit?: number, skip?: number, account?: string, startTime?: number, endTime?: number, searchInput?: string): Promise; getTradingCompetitionUser(address: string): Promise; getUser(address: string): Promise; getUserExtended(address: string): Promise; getUsers(addresses: string[]): Promise; getUsersExtended(addresses: string[]): Promise; getUserSnapshot(address: string, timestamp: BigNumberish): Promise; getUserSnapshotExtended(address: string, timestamp: BigNumberish): Promise; getUserSnapshots(address: string, startTime: BigNumberish, endTime: BigNumberish, orderBy?: string, order?: string, limit?: number, skip?: number): Promise; getUserSnapshotsExtended(address: string, startTime: BigNumberish, endTime: BigNumberish, orderBy?: string, order?: string, limit?: number, skip?: number): Promise; getUserPortfolio(address: string): Promise; getUserPortfolioExtended(address: string): Promise; getVault(address: string): Promise; getVaultExtended(address: string): Promise; getAllVaultsExtended(): Promise; getVaults(baseAddress: string): Promise; getVaultsExtended(baseAddress: string): Promise; getVaultsForToken(token: TokenOrAddress, isQuote?: boolean): Promise; getVaultsExtendedForToken(token: TokenOrAddress, isQuote?: boolean): Promise; getVaultPositionsExtendedForUser(owner: string): Promise; getVaultPosition(owner: string, vaultAddress: string): Promise; getVaultPositionExtended(owner: string, vaultAddress: string): Promise; getVaultVotes(user: string, limit?: number, skip?: number): Promise; getUserVaultVotesFromTimestamp(user: string, timestampFrom: number, timestampTo: number, limit?: number, skip?: number): Promise; getAllLastVaultVotes(orderBy: string, order: string, limit?: number, skip?: number): Promise; getVoteHistory(id: string): Promise; getLastUserStakes(): Promise; getUserStakes(startTime: number, user: string, limit?: number, skip?: number): Promise; getLastUserStakeFromTimestamp(timestamp: number, user: string): Promise; getStakeHistory(id: string): Promise; getStakeHistories(startTime: number, limit?: number, skip?: number): Promise; getOptionPositionsExtendedForUser(owner: string, isOpen?: boolean): Promise; getRewardOptionPositionsExtendedForUser(owner: string, timestamp?: number, isOpen?: boolean): Promise; getLiquidityPositionsExtendedForUser(owner: string, orderType?: OrderType, isOpen?: boolean): Promise; getUserReferrals(user: string, limit?: number, skip?: number): Promise; } export default PremiaVoidnode;