import { CoinbaseWallet } from "./Coinbase"; import { MetaMask } from "./MetaMask"; import { PhantomWallet } from "./Phantom"; export declare enum BaseActionType { IMPORT_WALLET_FROM_SEED = "importWalletFromSeed", IMPORT_WALLET_FROM_PRIVATE_KEY = "importWalletFromPrivateKey", SWITCH_NETWORK = "switchNetwork", CONNECT_TO_DAPP = "connectToDapp", HANDLE_TRANSACTION = "handleTransaction", HANDLE_SIGNATURE = "handleSignature", CHANGE_SPENDING_CAP = "changeSpendingCap", REMOVE_SPENDING_CAP = "removeSpendingCap" } export declare enum ActionApprovalType { APPROVE = "approve", REJECT = "reject" } export type ActionOptions = { approvalType?: ActionApprovalType; [key: string]: unknown; }; export type WalletSetupContext = { localNodePort: number; }; export type BaseWalletConfig = { type: "metamask" | "coinbase" | "phantom"; password?: string; walletSetup?: (wallet: MetaMask | CoinbaseWallet | PhantomWallet, context: WalletSetupContext) => Promise; }; export declare abstract class BaseWallet { abstract handleAction(action: BaseActionType, options: ActionOptions): Promise; }