import type { IDAppProviderBase } from '@multiversx/sdk-dapp-utils'; export interface IProvider extends IDAppProviderBase { init: () => Promise; login: (options?: { callbackUrl?: string; token?: string; }) => Promise<{ address: string; signature: string; multisig?: string; impersonate?: string; accessToken?: string; [key: string]: unknown; }>; logout: () => Promise; cancelLogin?: () => void; getType: () => T; getAddress(): Promise; } export interface IProviderConfig { account?: { address: string; }; } export declare const ProviderTypeEnum: { readonly extension: "extension"; readonly metamask: "metamask"; readonly passkey: "passkey"; readonly walletConnect: "walletConnect"; readonly ledger: "ledger"; readonly crossWindow: "crossWindow"; readonly webview: "webview"; readonly none: ""; }; export type ProviderBaseType = (typeof ProviderTypeEnum)[keyof typeof ProviderTypeEnum]; export type ProviderType = ProviderBaseType | (string & {}); export interface IProviderFactory { type: T; anchor?: HTMLElement; } export interface IProviderBase { name: string; type: T; iconUrl?: string; } export interface ICustomProvider extends IProviderBase { constructor: (options?: { address?: string; anchor?: HTMLElement; }) => Promise; }