import { Observable } from 'rxjs'; import { BytesLike, providers, Wallet as EtherWallet, TypedDataField } from 'ethers'; import { Service, ObjectSubject } from '../common'; import { WalletProvider, WalletProviderLike } from './providers'; import { Wallet, WalletOptions } from './interfaces'; export declare class WalletService extends Service { private providerLike; private options; rpcUrl: string; chain: number; readonly wallet$: ObjectSubject; readonly EOAAddress$: Observable; readonly rpcBundlerUrl: string; readonly chainId: number; provider: WalletProvider; constructor(providerLike: WalletProviderLike, options: WalletOptions, rpcUrl: string, chain: number); get wallet(): Wallet; get etherWallet(): Partial; get EOAAddress(): string; get walletProvider(): WalletProvider; getWalletProvider(): providers.JsonRpcProvider; signMessage(message: BytesLike): Promise; signTypedData(types: TypedDataField[], message: any, accountAddress: string): Promise; protected switchWalletProvider(providerLike: WalletProviderLike): void; protected onInit(): void; }