import { JsonRpcSigner } from '@ethersproject/providers'; import { Wallet } from 'ethers'; import { AlembicAuthSigner } from '../signers/AlembicAuthSigner'; import { WebAuthnSigner } from '../signers/WebAuthnSigner'; import { UserInfos } from '../types'; export interface AUTHAdapter { logout(): Promise; connect(userId?: string): Promise; getAccount(): Promise; getSigner(): JsonRpcSigner | Wallet | AlembicAuthSigner | WebAuthnSigner; getUserInfos(): Promise>; readonly chainId: string; } export type Constructor = new (...args: any[]) => T;