import type { JsonAuthSig } from '@lit-protocol/constants'; import { ethers } from 'ethers'; import { MeemAPI } from '../generated/api.generated'; import { GetMeQuery } from '../generated/graphql'; export declare class Id { /** The last message the was signed */ lastSignedMessage?: string; /** The last signature of the lastMessageSigned */ lastSignature?: string; /** Whether the SDK id has initialized */ hasInitialized: boolean; private jwt?; private gqlHttpUrl?; private gqlWsUri?; private apiUrl?; constructor(options: { jwt?: string; gqlHttpUrl?: string; gqlWsUri?: string; apiUrl?: string; }); /** Sets the JWT used in api calls */ setJwt(jwt?: string): void; getMe(): Promise>; getLitAuthSig(): JsonAuthSig; login(options: { /** The message that will appear in the user's wallet to sign */ message: string; /** The signer */ signer: ethers.providers.JsonRpcSigner; /** The chainId */ chainId: number; /** The URI where the login is taking place */ uri: string; }): Promise<{ signature: string; authSig: { sig: string; derivedVia: string; signedMessage: string; address: string; }; jwt: string; messageToSign: string; }>; /** Login with the Meem API */ loginWithAPI(options: { /** Login w/ access token provided by Auth0 magic link */ accessToken?: string; /** Login w/ wallet. Both message and signature must be provided */ message?: string; /** Login w/ wallet. Both address and signature must be provided */ signature?: string; /** Whether to connect the login method with the currently authenticated user */ shouldConnectUser?: boolean; }): Promise; /** Update info about a user identity belonging to a user */ updateUserIdentity(options: { /** The id of the user identity to update */ userIdentityId: string; /** The visibility of the integration */ visibility?: MeemAPI.IUserIdentityVisibility; /** Arbitrary metadata */ metadata?: Record; }): Promise; /** Remove a user identity from the current user */ removeUserIdentity(options: { /** The id of the user identity to remove */ userIdentityId: string; }): Promise; /** Update user info */ updateUser(options: { /** Profile picture base64 string */ profilePicBase64?: string; /** Display name of identity */ displayName?: string; }): Promise; /** Get a login nonce from the Meem API */ getNonce(options: { /** The address to get a nonce for */ address: string; }): Promise; /** Refresh the ENS name for the current user's wallet address */ refreshENS(): Promise; }