import type { Anvil, CreateAnvilOptions } from '@viem/anvil'; import type { SettingsSidebarMenus } from '../../selectors/pages/HomePage/settings'; import type { GasSettings } from '../../type/GasSettings'; import type { Network } from '../../type/Network'; declare global { namespace Cypress { interface Chainable { importWallet(seedPhrase: string): Chainable; importWalletFromPrivateKey(privateKey: string): Chainable; getAccount(): Chainable; getNetwork(): Chainable; connectToDapp(accounts?: string[]): Chainable; addNewAccount(accountName: string): Chainable; switchAccount(accountName: string): Chainable; renameAccount(currentAccountName: string, newAccountName: string): Chainable; getAccountAddress(): Chainable; resetAccount(): Chainable; switchNetwork(networkName: string, isTestnet?: boolean): Chainable; createAnvilNode(options?: CreateAnvilOptions): Chainable<{ anvil: Anvil; rpcUrl: string; chainId: number; }>; connectToAnvil(): Chainable; emptyAnvilNode(): Chainable; addNetwork(network: Network): Chainable; approveNewNetwork(): Chainable; approveSwitchNetwork(): Chainable; approveNewEthereumRPC(): Chainable; rejectNewNetwork(): Chainable; rejectSwitchNetwork(): Chainable; rejectNewEthereumRPC(): Chainable; deployToken(): Chainable; addNewToken(): Chainable; approveTokenPermission(options?: { spendLimit?: number | 'max'; gasSetting?: GasSettings; }): Chainable; rejectTokenPermission(): Chainable; providePublicEncryptionKey(): Chainable; decrypt(): Chainable; confirmSignature(): Chainable; rejectSignature(): Chainable; confirmTransaction(options?: { gasSetting?: GasSettings; }): Chainable; rejectTransaction(): Chainable; confirmTransactionAndWaitForMining(): Chainable; openTransactionDetails(txIndex: number): Chainable; closeTransactionDetails(): Chainable; lock(): Chainable; unlock(): Chainable; toggleShowTestNetworks(): Chainable; toggleDismissSecretRecoveryPhraseReminder(): Chainable; goBackToHomePage(): Chainable; openSettings(): Chainable; openSidebarMenu(menu: SettingsSidebarMenus): Chainable; } } } /** * Synpress Commands for MetaMask * * This module extends Cypress with custom commands for interacting with MetaMask and Ethereum networks. * It provides a wide range of functionalities including wallet management, account operations, * network interactions, token handling, transaction management, and MetaMask UI interactions. * * @module SynpressCommandsForMetaMask * * Key features: * - Wallet: Import wallet, connect to dApps * - Account: Add, switch, rename, reset accounts * - Network: Switch networks, create and manage Anvil nodes, add custom networks * - Tokens: Deploy tokens, add new tokens, approve token permissions * - Transactions: Confirm, reject, and view transaction details * - MetaMask UI: Lock/unlock, toggle settings, navigate UI * * These commands enhance the testing capabilities for Ethereum-based applications, * allowing for comprehensive end-to-end testing of dApps integrated with MetaMask. */ /** * Initializes Synpress commands for MetaMask */ export default function synpressCommandsForMetaMask(): void; //# sourceMappingURL=synpressCommands.d.ts.map