import type { Transaction, Message } from "@multiversx/sdk-core"; import type { Nullable } from "../types/index.js"; export interface IDAppProviderOptions { [key: PropertyKey]: unknown; } export interface IDAppProviderAccount { address: string; signature?: string; multisig?: string; impersonate?: string; [key: string]: unknown; } export interface IDAppProviderBase { login?(options?: IDAppProviderOptions): Promise; logout(options?: IDAppProviderOptions): Promise; getAccount(): IDAppProviderAccount | null; setAccount(account: IDAppProviderAccount): void; isInitialized(): boolean; isConnected?(): boolean; signTransaction(transaction: Transaction, options?: IDAppProviderOptions): Promise>; signTransactions(transactions: Transaction[], options?: IDAppProviderOptions): Promise>; signMessage(messageToSign: Message, options?: IDAppProviderOptions): Promise>; }