import { BlockhashWithExpiryBlockHeight, Connection, VersionedTransaction } from '@solana/web3.js'; import BigNumber from 'bignumber.js'; import { Web3PrimitiveType } from "../../../models/web3-primitive-type"; import { ContractMulticallResponse } from "../models/contract-multicall-response"; import { MethodData } from "../models/method-data"; import { SupportedTokenField } from "../models/supported-token-field"; import { TxStatus } from "../models/tx-status"; import { Web3Public } from "../web3-public"; import { AbiItem } from 'web3-utils'; /** * Class containing methods for calling contracts in order to obtain information from the blockchain. * To send transaction or execute contract method use {@link Web3Private}. */ export declare class SolanaWeb3Public extends Web3Public { private readonly connection; private readonly HELIUS_API_URL; constructor(connection: Connection); /** * @returns ComputedUnitsLimit - like gasLimit in evm */ getConsumedUnitsLimit(tx: VersionedTransaction): Promise; /** * @returns ComputedUnitsPrice - like gasPrice in evm */ getConsumedUnitsPrice(tx: VersionedTransaction): Promise; getBlockNumber(): Promise; multicallContractsMethods(_contractAbi: AbiItem[], _contractsData: { contractAddress: string; methodsData: MethodData[]; }[]): Promise[][]>; getTransactionStatus(hash: string): Promise; callForTokenInfo(tokenAddress: string, tokenFields?: SupportedTokenField[]): Promise>>; callForTokensInfo(tokenAddresses: string[] | ReadonlyArray, tokenFields?: SupportedTokenField[]): Promise>[]>; getBalance(userAddress: string, tokenAddress: string): Promise; getTokenBalance(address: string, tokenAddress: string): Promise; callContractMethod(_contractAddress: string, _contractAbi: AbiItem[], _methodName: string, _methodArguments?: unknown[], _options?: { from?: string; value?: string; gasPrice?: string; gas?: string; }): Promise; healthCheck(timeoutMs?: number): Promise; /** * Gets balance of multiple tokens. * @param address Wallet address. * @param tokensAddresses Tokens addresses. */ getTokensBalances(address: string, tokensAddresses: string[]): Promise; getAllowance(): Promise; setProvider(_provider: unknown): void; getRecentBlockhash(): Promise; getAtaAddress(walletAddress: string, tokenAddress: string): Promise; }