import { WalletConnectModal } from '@walletconnect/modal';
import EthereumProvider from '@walletconnect/ethereum-provider';
import { EIP6963ProviderInfo, WidgetTheme } from '@imtbl/checkout-sdk';
import { Environment } from '@imtbl/config';
export declare const walletConnectProviderInfo: EIP6963ProviderInfo;
export type WalletConnectConfiguration = {
    projectId: string;
    metadata: {
        name: string;
        description: string;
        url: string;
        icons: string[];
    };
};
type ConnectConfig = {
    walletConnect: boolean;
};
export declare class WalletConnectManager {
    private static instance;
    private isInitialising;
    private initialised;
    private enabled;
    private environment;
    private theme;
    private walletConnectConfig;
    private walletConnectModal;
    private ethereumProvider;
    private walletListings;
    private providerQueue;
    private validateConfig;
    static getInstance(): WalletConnectManager;
    initialise(environment: Environment, config: WalletConnectConfiguration, theme: WidgetTheme, remoteConfig: Promise<ConnectConfig>): void;
    get isInitialised(): boolean;
    get isEnabled(): boolean;
    getModal(): WalletConnectModal;
    getProvider(): Promise<EthereumProvider>;
    private loadWalletListings;
    getWalletLogoUrl(walletSlug?: string): Promise<string | undefined>;
}
export {};
