import { Connection, Keypair, PublicKey, Transaction, VersionedTransaction } from "@solana/web3.js"; import { VM } from "../vm"; import { ChainAddress, ChainWallet } from "../IChainWallet"; import { Balance, ChainWalletConfig, UserTokenBalance, TokenInfo, TransactionResult, NFT, WalletDiscoveryOptions, WalletDiscoveryResult, PocketDiscoveryOptions } from "../types"; import { JupiterQuoteResponse } from "./utils"; import { PriceResponse } from "../price.types"; import { SVMTransactionHistoryItem } from "./transactionParsing"; export declare const createSvmConnection: (config: ChainWalletConfig) => Connection; export declare const getSvmNativeBalanceForAddress: (address: PublicKey, connection: Connection) => Promise; export declare const getSvmTokenBalanceForAddress: (address: PublicKey, tokenAddress: PublicKey, connection: Connection) => Promise; export declare const discoverSvmTokens: (address: PublicKey, connection: Connection) => Promise[]>; export declare const discoverSvmNFTs: (address: PublicKey, connection: Connection) => Promise; export declare const getSvmTransactionHistoryForAddress: (connection: Connection, address: PublicKey) => Promise; export declare const getSvmPricesForTokens: (config: ChainWalletConfig, tokenAddresses: string[]) => Promise; export declare class SVMVM extends VM { getTokenInfo: (tokenAddress: PublicKey, connection: Connection, programId?: PublicKey) => Promise; static getTokenInfo: (tokenAddress: PublicKey, connection: Connection, programId?: PublicKey) => Promise; static validateAddress(address: PublicKey): boolean; derivationPath: string; constructor(seed: string); static getNativeBalance(address: PublicKey, connection: Connection): Promise; static getTokenBalance(address: PublicKey, tokenAddress: PublicKey, connection: Connection): Promise; static generateMnemonicFromPrivateKey(privateKey: Keypair): string; static signAndSendTransaction: (transaction: VersionedTransaction | Transaction, connection: Connection, signers: Keypair, options?: { partialSign?: boolean; feePayerSigner?: Keypair; }) => Promise; static signTransaction: (transaction: VersionedTransaction | Transaction, signers: Keypair) => Promise; static sendTransaction: (transaction: VersionedTransaction | Transaction, connection: Connection) => Promise; static convertFromEntropyToPrivateKey: (entropy: string) => Keypair; generatePrivateKey(index: number, seed?: string, mnemonic?: string, derivationPath?: string): { privateKey: Keypair; index: number; }; static fromMnemonic(mnemonic: string): VM; deriveSavingsAccount(accountIndex: number): { privateKey: Keypair; address: PublicKey; derivationPath: string; }; discoverWallets(connection: Connection, options?: WalletDiscoveryOptions): Promise; private checkWalletBalance; private sleep; discoverPockets(connection: Connection, options?: PocketDiscoveryOptions): Promise; private checkPocketBalance; } export declare class SVMChainAddress extends ChainAddress { constructor(config: ChainWalletConfig, address: PublicKey, index?: number); getNativeBalance(): Promise; getTokenBalance(tokenAddress: PublicKey): Promise; discoverToken(): Promise[]>; discoverNFT(): Promise; getTransactionHistory(): Promise; getPrices(tokenAddresses: string[]): Promise; } export declare class SVMChainWallet extends ChainWallet { constructor(config: ChainWalletConfig, privateKey: Keypair, index: number); generateAddress(): PublicKey; convertFromEntropyToPrivateKey: (entropy: string) => Keypair; getNativeBalance(): Promise; getTokenBalance(tokenAddress: PublicKey): Promise; discoverToken(): Promise[]>; discoverNFT(): Promise; transferNative(to: PublicKey, amount: number): Promise; transferToken(token: TokenInfo, to: PublicKey, amount: number): Promise; signTransaction(transaction: VersionedTransaction | Transaction): Promise; sendTransaction(transaction: VersionedTransaction | Transaction): Promise; signAndSendTransaction(transaction: VersionedTransaction | Transaction): Promise; getTransactionHistory(): Promise; estimateGas(transaction: VersionedTransaction | Transaction): Promise; private extractComputeBudgetDetails; private readU32LE; private readU64LE; private ceilDiv; getTokenInfo(tokenAddress: PublicKey): Promise; getPrices(tokenAddresses: string[]): Promise; swap(fromToken: TokenInfo, toToken: PublicKey, amount: number, slippage?: number): Promise; getSwapQuote(fromToken: TokenInfo, toToken: PublicKey, amount: number, slippage?: number): Promise<{ success: boolean; inputAmount?: string; outputAmount?: string; priceImpact?: string; routePlan?: JupiterQuoteResponse['routePlan']; slippageBps?: number; error?: string; }>; signMessage: (message: Uint8Array) => Uint8Array; }