import { BaseEmbedControllerState, COMMUNICATION_JRPC_METHODS, CONFIRMATION_STRATEGY_TYPE, ShowFundingParams } from "@toruslabs/base-controllers";
import { THEME_MODE_TYPE, WEB3AUTH_NETWORK_TYPE } from "@web3auth/auth";
import CommunicationProvider, { type AccessTokenProviderFn } from "./communicationProvider";
import { EVM_METHOD_TYPES_TYPE, SOLANA_METHOD_TYPES_TYPE } from "./constants";
import TorusInPageProvider from "./inPageProvider";
import { BUTTON_POSITION_TYPE, ConnectWithSessionParams, CtorArgs, LoginParams, UnValidatedJsonRpcRequest, UserInfo, WS_EMBED_BUILD_ENV_TYPE, WS_EMBED_LOGIN_MODE_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;
    loginMode: WS_EMBED_LOGIN_MODE_TYPE;
    enableLegacyConfig: 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, loginMethodConfig, accountAbstractionConfig, enableKeyExport, loginMode, enableLegacyConfig, }: WsEmbedParams): Promise<void>;
    login(params?: LoginParams): Promise<string[]>;
    connectWithSession(params: ConnectWithSessionParams): Promise<boolean>;
    setAccessTokenProvider(provider: AccessTokenProviderFn): void;
    logout(): Promise<void>;
    cleanUp(): Promise<void>;
    clearInit(): void;
    getUserInfo(): Promise<UserInfo>;
    showWalletConnectScanner(showWalletConnectParams?: BaseEmbedControllerState["showWalletConnect"]): Promise<void>;
    showWalletUi(showWalletUiParams?: BaseEmbedControllerState["showWalletUi"]): Promise<void>;
    showFunding(showFundingParams?: {
        show: boolean;
    } & ShowFundingParams): Promise<void>;
    showCheckout(showCheckoutParams?: BaseEmbedControllerState["showCheckout"]): Promise<void>;
    showReceive(showReceiveParams?: BaseEmbedControllerState["showReceive"]): Promise<void>;
    showSwap(shoSwapParams?: BaseEmbedControllerState["showSwap"]): Promise<void>;
    getConfirmationStrategyFinal(payload: UnValidatedJsonRpcRequest | UnValidatedJsonRpcRequest[]): CONFIRMATION_STRATEGY_TYPE;
    getTheme(theme: THEME_MODE_TYPE): string;
    private setupWeb3;
    private getProjectConfig;
    private initializeAuthConnectionConfig;
    private initializeWhiteLabel;
}
export default WsEmbed;
