import { CustomProviderParams, EthereumProvider, JsonRpcId } from './typings'; import SafeEventEmitter from '@metamask/safe-event-emitter'; import IframeWrapper from './iframeWrapper'; export interface RequestArguments { method: string; params?: unknown[] | Record; } interface AuthProvider { loginWithSocial(loginType: string): void; loginWithLink(email: string): void; connect(): Promise; appId: string; } export declare class ArcanaProvider extends SafeEventEmitter implements EthereumProvider { private authUrl; chainId: string; connected: boolean; private auth; private communication; private subscriber; private iframe; private logger; private popup; constructor(authUrl: string); isArcana(): boolean; init(iframe: IframeWrapper, auth: AuthProvider): Promise; private onResponse; isLoggedIn(): Promise; connect(): Promise; isConnected(): Promise; isLoginAvailable(type: string): Promise; initCustomLogin(params: CustomProviderParams): Promise; requestUserInfo(): Promise; getReconnectionUrl(): Promise; initOTPLogin(email: string): Promise; completeOTPLogin(otp: string): Promise; getPublicKey(email: string, verifier: string): Promise; getAvailableLogins(): Promise; logout(): Promise; initPasswordlessLogin(email: string): Promise; initSocialLogin(kind: string): Promise; expandWallet(): Promise; getKeySpaceConfigType(): Promise; private getCommunication; request(args: RequestArguments): Promise; getResponse(method: string, id: JsonRpcId): Promise; private createRequestUrl; setChainId(val: unknown): void; handleEvents: (t: string, val: unknown) => void; } export {};