import Torus, { LoginParams, TorusCtorArgs, TorusParams } from "@toruslabs/torus-embed";
import { ADAPTER_CATEGORY_TYPE, ADAPTER_STATUS_TYPE, AdapterInitOptions, AdapterNamespaceType, BaseAdapterSettings, ChainNamespaceType, CustomChainConfig, IProvider, UserInfo } from "@web3auth-mpc/base";
import { BaseEvmAdapter } from "@web3auth-mpc/base-evm-adapter";
export interface TorusWalletOptions extends BaseAdapterSettings {
    adapterSettings?: TorusCtorArgs;
    loginSettings?: LoginParams;
    initParams?: Omit<TorusParams, "network">;
}
export declare class TorusWalletAdapter extends BaseEvmAdapter<never> {
    readonly name: string;
    readonly adapterNamespace: AdapterNamespaceType;
    readonly currentChainNamespace: ChainNamespaceType;
    readonly type: ADAPTER_CATEGORY_TYPE;
    status: ADAPTER_STATUS_TYPE;
    torusInstance: Torus | null;
    private torusWalletOptions?;
    private initParams?;
    private loginSettings?;
    constructor(params?: TorusWalletOptions);
    get provider(): IProvider | null;
    set provider(_: IProvider | null);
    init(options?: AdapterInitOptions): Promise<void>;
    connect(): Promise<IProvider | null>;
    disconnect(options?: {
        cleanup: boolean;
    }): Promise<void>;
    getUserInfo(): Promise<Partial<UserInfo>>;
    addChain(chainConfig: CustomChainConfig, init?: boolean): Promise<void>;
    switchChain(params: {
        chainId: string;
    }, init?: boolean): Promise<void>;
}
