import type { EvmProvider } from '@soul-wallet/extension-inject/types'; import SafeEventEmitter from '@metamask/safe-event-emitter'; import { SendRequest } from '@soul-wallet/extension-base/page/types'; import { JsonRpcRequest, JsonRpcResponse } from 'json-rpc-engine'; import { RequestArguments } from 'web3-core'; export interface SendSyncJsonRpcRequest extends JsonRpcRequest { method: 'net_version'; } export declare class SoulWalletEvmProvider extends SafeEventEmitter implements EvmProvider { readonly isSoulWallet = true; readonly isMetaMask = false; readonly version: string; protected sendMessage: SendRequest; protected _connected: boolean; constructor(sendMessage: SendRequest, version: string); get connected(): boolean; isConnected(): boolean; protected subscribeExtensionEvents(): void; enable(): Promise; on(eventName: string | symbol, listener: (...args: any[]) => void): this; once(eventName: string | symbol, listener: (...args: any[]) => void): this; request({ method, params }: RequestArguments): Promise; private _sendSync; send(method: string, params?: T[]): Promise>; send(payload: JsonRpcRequest, callback: (error: Error | null, result?: JsonRpcResponse) => void): void; send(payload: SendSyncJsonRpcRequest): JsonRpcResponse; sendAsync(payload: JsonRpcRequest, callback: (error: (Error | null), result?: JsonRpcResponse) => void): void; }