import { BaseEmbedControllerState, COMMUNICATION_JRPC_METHODS, CONFIRMATION_STRATEGY_TYPE } from "@toruslabs/base-controllers";
import { THEME_MODE_TYPE, WEB3AUTH_NETWORK_TYPE } from "@web3auth/auth";
import CommunicationProvider from "./communicationProvider";
import { EVM_METHOD_TYPES_TYPE, SOLANA_METHOD_TYPES_TYPE } from "./constants";
import TorusInPageProvider from "./inPageProvider";
import { BUTTON_POSITION_TYPE, CtorArgs, LoginParams, LoginWithSessionIdParams, UnValidatedJsonRpcRequest, UserInfo, WS_EMBED_BUILD_ENV_TYPE, WsEmbedParams } from "./interfaces";
export declare const version: string;
export declare const COMMUNICATION_UNSAFE_METHODS: Set<Partial<(typeof COMMUNICATION_JRPC_METHODS)[keyof typeof COMMUNICATION_JRPC_METHODS]>>;
export declare const PROVIDER_UNSAFE_METHODS: Set<Partial<EVM_METHOD_TYPES_TYPE | SOLANA_METHOD_TYPES_TYPE>>;
declare class WsEmbed {
    isInitialized: boolean;
    modalZIndex: number;
    provider: TorusInPageProvider;
    communicationProvider: CommunicationProvider;
    buttonPosition: BUTTON_POSITION_TYPE;
    web3AuthClientId: string;
    web3AuthNetwork: WEB3AUTH_NETWORK_TYPE;
    isPluginMode: boolean;
    confirmationStrategy: CONFIRMATION_STRATEGY_TYPE;
    private buildEnv;
    private readonly embedNonce;
    constructor({ modalZIndex, web3AuthClientId, web3AuthNetwork }: CtorArgs);
    get isLoggedIn(): boolean;
    get getBuildEnv(): WS_EMBED_BUILD_ENV_TYPE;
    init({ buildEnv, enableLogging, chains, chainId, walletUrls, whiteLabel, confirmationStrategy, accountAbstractionConfig, enableKeyExport, }: WsEmbedParams): Promise<void>;
    login(params?: LoginParams): Promise<string[]>;
    loginWithSessionId(params: LoginWithSessionIdParams): Promise<boolean>;
    logout(): Promise<void>;
    cleanUp(): Promise<void>;
    clearInit(): void;
    getUserInfo(): Promise<UserInfo>;
    showWalletConnectScanner(showWalletConnectParams?: BaseEmbedControllerState["showWalletConnect"]): Promise<void>;
    showWalletUi(showWalletUiParams?: BaseEmbedControllerState["showWalletUi"]): Promise<void>;
    showCheckout(showCheckoutParams?: BaseEmbedControllerState["showCheckout"]): Promise<void>;
    showSwap(shoSwapParams?: BaseEmbedControllerState["showSwap"]): Promise<void>;
    getConfirmationStrategyFinal(payload: UnValidatedJsonRpcRequest | UnValidatedJsonRpcRequest[]): CONFIRMATION_STRATEGY_TYPE;
    getTheme(theme: THEME_MODE_TYPE): string;
    private setupWeb3;
}
export default WsEmbed;
