import { PickedEventListeners, StoreEventListeners } from '@dynamic-labs/message-transport'; import { WalletsModuleMessages, WalletsModuleState, userWalletsEventNames } from '@dynamic-labs/webview-messages'; import { BaseWallet } from '@dynamic-labs/types'; import type { Chain } from '@dynamic-labs/wallet-connector-core'; import { Core } from '../../client/core'; import { type AccountAbstractionModule } from './accountAbstractionModule'; import { WalletEventListener } from './createWalletListenerMethods'; import { EmbeddedWalletsModule } from './embeddedWalletsModule'; import { PhantomModule } from './phantomModule'; import { WaasModule } from './waasModule'; import { DelegationModule } from './delegationModule'; export type PublicWalletModuleMessages = Pick; export type WalletsModule = WalletsModuleState & PickedEventListeners & StoreEventListeners & { embedded: EmbeddedWalletsModule; phantom: PhantomModule; waas: WaasModule; /** * @deprecated This was deprecated, please use waas.delegation module. */ delegation: DelegationModule; accountAbstraction: AccountAbstractionModule; signMessage: WalletsModuleMessages['signMessage']; sendBalance: WalletsModuleMessages['sendBalance']; switchNetwork: WalletsModuleMessages['switchNetwork']; getBalance: WalletsModuleMessages['getBalance']; getNetwork: WalletsModuleMessages['getNetwork']; setPrimary: WalletsModuleMessages['setPrimary']; getMultichainBalances: WalletsModuleMessages['getMultichainBalances']; getTransactionHistory: WalletsModuleMessages['getTransactionHistory']; simulateEVMTransaction: WalletsModuleMessages['simulateEVMTransaction']; simulateEVMTransactionAA: WalletsModuleMessages['simulateEVMTransactionAA']; connectWallet: (connectorKey: string, chain?: Chain) => Promise; onWalletEvent: WalletEventListener; offWalletEvent: WalletEventListener; setHandler: (name: 'walletConnected', handler: ConnectedWalletsHandler) => void; clearHandler: (name: 'walletConnected') => void; }; type ConnectedWalletsHandler = (wallet: Partial) => Promise; export declare const createWalletsModule: (core: Core) => WalletsModule; export {};