import type { MultichainApiClient, SessionData } from "@metamask/multichain-api-client"; import { type SolanaChain } from "@solana/wallet-standard-chains"; import { type SolanaSignAndSendTransactionFeature, type SolanaSignInFeature, type SolanaSignMessageFeature, type SolanaSignTransactionFeature } from "@solana/wallet-standard-features"; import type { IdentifierArray, Wallet } from "@wallet-standard/base"; import { type StandardConnectFeature, type StandardDisconnectFeature, type StandardEventsFeature } from "@wallet-standard/features"; import { ReadonlyWalletAccount } from "@wallet-standard/wallet"; import { Scope, type WalletOptions } from "./types.mjs"; export declare class MetamaskWalletAccount extends ReadonlyWalletAccount { constructor({ address, publicKey, chains }: { address: string; publicKey: Uint8Array; chains: IdentifierArray; }); } export declare class MetamaskWallet implements Wallet { #private; static readonly scopes: readonly [Scope.MAINNET, Scope.DEVNET, Scope.TESTNET]; readonly version: "1.0.0"; readonly name: string; readonly icon: `data:image/svg+xml;base64,${string}` | `data:image/webp;base64,${string}` | `data:image/png;base64,${string}` | `data:image/gif;base64,${string}`; readonly chains: SolanaChain[]; protected scope: Scope | undefined; client: MultichainApiClient; get accounts(): MetamaskWalletAccount[]; get features(): StandardConnectFeature & SolanaSignInFeature & StandardDisconnectFeature & StandardEventsFeature & SolanaSignAndSendTransactionFeature & SolanaSignTransactionFeature & SolanaSignMessageFeature; constructor({ client, walletName }: WalletOptions); /** * Updates the session and the account to connect to. * This method handles the logic for selecting the appropriate Solana network scope (mainnet/devnet/testnet) * and account to connect to based on the following priority: mainnet > devnet > testnet. It assumes the same * set of accounts is available for all Solana scopes and will take the first account found from the scopes above. * * @param session - The session data containing available scopes and accounts */ protected updateSession(session: SessionData | undefined): void; } //# sourceMappingURL=wallet.d.mts.map