import { SafeEventEmitterProvider } from "@web3auth/base";
import { IPlugin } from "@web3auth/base-plugin";
import type { Web3AuthNoModal } from "@web3auth/no-modal";
import WsEmbed, { CtorArgs, WsEmbedParams } from "@web3auth/ws-embed";
export declare class WalletServicesPlugin implements IPlugin {
    name: string;
    readonly SUPPORTED_ADAPTERS: string[];
    readonly pluginNamespace: "eip155";
    wsEmbedInstance: WsEmbed;
    private provider;
    private web3auth;
    private isInitialized;
    private walletInitOptions;
    constructor(options?: {
        wsEmbedOpts?: Partial<CtorArgs>;
        walletInitOptions?: Omit<WsEmbedParams, "buildEnv" | "enableLogging" | "chainConfig">;
    });
    get proxyProvider(): SafeEventEmitterProvider | null;
    initWithWeb3Auth(web3auth: Web3AuthNoModal): Promise<void>;
    initWithProvider(): Promise<void>;
    connect(): Promise<void>;
    showWalletConnectScanner(): Promise<void>;
    showCheckout(): Promise<void>;
    showWalletUi(): Promise<void>;
    disconnect(): Promise<void>;
    private subscribeToWalletEvents;
    private subscribeToProviderEvents;
    private subscribeToWeb3AuthNoModalEvents;
    private sessionConfig;
    private walletServicesSessionConfig;
    private setSelectedAddress;
    private setChainID;
}
