///
import EventEmitter from "events";
import { JsonRpc, IRpcConnection } from "@walletconnect/types";
interface IPromisesMap {
[id: number]: {
resolve: (res: any) => void;
reject: (err: any) => void;
};
}
declare class EthereumProvider extends EventEmitter {
connected: boolean;
promises: IPromisesMap;
subscriptions: number[];
connection: IRpcConnection;
accounts: string[];
coinbase: string;
attemptedNetworkSubscription: boolean;
attemptedChainSubscription: boolean;
attemptedAccountsSubscription: boolean;
constructor(connection: IRpcConnection);
onConnectionPayload(payload: JsonRpc): Promise;
checkConnection(): Promise;
startNetworkSubscription(): Promise;
startChainSubscription(): Promise;
startAccountsSubscription(): Promise;
enable(): Promise;
_send(method?: string, params?: any[]): Promise;
send(...args: any[]): Promise;
_sendBatch(requests: JsonRpc[]): Promise;
sendAsync(payload: JsonRpc, cb: any): any;
sendAsyncBatch(requests: JsonRpc[], cb: any): Promise;
subscribe(type: string, method: string, params?: any[]): Promise;
unsubscribe(type: string, id: number): Promise;
isConnected(): boolean;
close(): void;
}
export default EthereumProvider;
//# sourceMappingURL=provider.d.ts.map