import { WALLET } from "./constants";
import { PROVIDER, SIGNER, WalletBaseInfo, WalletMethods } from "./types";
export declare class MetaMask implements WalletBaseInfo, WalletMethods {
    wallet: WALLET;
    provider?: PROVIDER;
    signer?: SIGNER;
    address?: string;
    namespace?: string;
    reference?: string;
    onChainChangedBinder?: any;
    onAccountsChangedBinder?: any;
    ethereum: any;
    constructor(ethereum: any);
    connect(): Promise<Required<Omit<WalletBaseInfo, "userInfo">>>;
    requestPermissions(): Promise<string[]>;
    switchNetwork(chainId: number): Promise<void>;
    ethereumRequest({ method, params }: {
        method: string;
        params: any;
    }): Promise<any>;
    onChainChanged(networkIDstring: string): Promise<void>;
    onAccountsChanged(accounts: Array<string>): Promise<void>;
}
