///
import SignClient from "@walletconnect/sign-client";
import { SessionTypes } from "@walletconnect/types";
import { Logger } from "@walletconnect/logger";
import { IUniversalProvider, RpcProviderMap, ConnectParams, RequestArguments, UniversalProviderOpts, NamespaceConfig, PairingsCleanupOpts, ProviderAccounts } from "./types";
import EventEmitter from "events";
export declare class UniversalProvider implements IUniversalProvider {
client: SignClient;
namespaces?: NamespaceConfig;
optionalNamespaces?: NamespaceConfig;
sessionProperties?: Record;
events: EventEmitter;
rpcProviders: RpcProviderMap;
session?: SessionTypes.Struct;
providerOpts: UniversalProviderOpts;
logger: Logger;
uri: string | undefined;
private shouldAbortPairingAttempt;
private maxPairingAttempts;
private disableProviderPing;
static init(opts: UniversalProviderOpts): Promise;
constructor(opts: UniversalProviderOpts);
request(args: RequestArguments, chain?: string | undefined): Promise;
sendAsync(args: RequestArguments, callback: (error: Error | null, response: any) => void, chain?: string | undefined): void;
enable(): Promise;
disconnect(): Promise;
connect(opts: ConnectParams): Promise;
on(event: any, listener: any): void;
once(event: string, listener: any): void;
removeListener(event: string, listener: any): void;
off(event: string, listener: any): void;
get isWalletConnect(): boolean;
pair(pairingTopic: string | undefined): Promise;
setDefaultChain(chain: string, rpcUrl?: string | undefined): void;
cleanupPendingPairings(opts?: PairingsCleanupOpts): Promise;
abortPairingAttempt(): void;
private checkStorage;
private initialize;
private createClient;
private createProviders;
private registerEventListeners;
private getProvider;
private onSessionUpdate;
private setNamespaces;
private validateChain;
private requestAccounts;
private onChainChanged;
private onConnect;
private cleanup;
private persist;
private getFromStore;
}
export default UniversalProvider;
//# sourceMappingURL=UniversalProvider.d.ts.map