import { NetworkNames } from '../../network'; import { UniqueSubject } from '../../common'; import { WalletProvider } from './interfaces'; import { TypedDataField } from 'ethers'; export declare abstract class DynamicWalletProvider implements WalletProvider { readonly type: string; readonly address$: UniqueSubject; readonly networkName$: UniqueSubject; protected constructor(type: string); get address(): string; get networkName(): NetworkNames; abstract signMessage(message: any): Promise; abstract signTypedData(typedData: TypedDataField[], message: any, accountAddress: string): Promise; protected setAddress(address: string): void; protected setNetworkName(networkNameOrChainId: string | number): void; }