///
import { EventEmitter } from "events";
import { RequestArguments, IJsonRpcProvider, IJsonRpcConnection, JsonRpcRequest, JsonRpcPayload } from "@walletconnect/jsonrpc-utils";
export declare class JsonRpcProvider extends IJsonRpcProvider {
events: EventEmitter;
connection: IJsonRpcConnection;
private hasRegisteredEventListeners;
constructor(connection: IJsonRpcConnection);
connect(connection?: string | IJsonRpcConnection): Promise;
disconnect(): Promise;
on(event: string, listener: any): void;
once(event: string, listener: any): void;
off(event: string, listener: any): void;
removeListener(event: string, listener: any): void;
request(request: RequestArguments, context?: any): Promise;
protected requestStrict(request: JsonRpcRequest, context?: any): Promise;
protected setConnection(connection?: IJsonRpcConnection): IJsonRpcConnection;
protected onPayload(payload: JsonRpcPayload): void;
protected onClose(event?: CloseEvent): void;
protected open(connection?: string | IJsonRpcConnection): Promise;
protected close(): Promise;
private registerEventListeners;
}
export default JsonRpcProvider;
//# sourceMappingURL=provider.d.ts.map