{
  "version": 3,
  "sources": ["../../../src/providers/types/providerFactory.types.ts"],
  "sourcesContent": ["import type { IDAppProviderBase } from '@multiversx/sdk-dapp-utils';\n\nexport interface IProvider<T extends ProviderType = ProviderType>\n  extends IDAppProviderBase {\n  init: () => Promise<boolean>;\n  login: (options?: { callbackUrl?: string; token?: string }) => Promise<{\n    address: string;\n    signature: string;\n    multisig?: string;\n    impersonate?: string;\n    accessToken?: string;\n    [key: string]: unknown;\n  }>;\n  logout: () => Promise<boolean>;\n  cancelLogin?: () => void;\n  getType: () => T;\n  getAddress(): Promise<string | undefined>;\n}\n\nexport interface IProviderConfig {\n  account?: {\n    address: string;\n  };\n}\n\nexport const ProviderTypeEnum = {\n  extension: 'extension',\n  metamask: 'metamask',\n  passkey: 'passkey',\n  walletConnect: 'walletConnect',\n  ledger: 'ledger',\n  crossWindow: 'crossWindow',\n  webview: 'webview',\n  none: ''\n} as const;\n\nexport type ProviderBaseType =\n  (typeof ProviderTypeEnum)[keyof typeof ProviderTypeEnum];\n\nexport type ProviderType = ProviderBaseType | (string & {}); // This allows custom providers to be used as a string\n\nexport interface IProviderFactory<T extends ProviderType = ProviderType> {\n  type: T;\n  anchor?: HTMLElement;\n}\n\nexport interface IProviderBase<T extends ProviderType = ProviderType> {\n  name: string;\n  type: T;\n  iconUrl?: string;\n}\nexport interface ICustomProvider<T extends ProviderType = ProviderType>\n  extends IProviderBase<T> {\n  constructor: (options?: {\n    address?: string;\n    anchor?: HTMLElement;\n  }) => Promise<IProvider>;\n}\n"],
  "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,IAAA,eAAAC,EAAAH,GAyBO,MAAME,EAAmB,CAC9B,UAAW,YACX,SAAU,WACV,QAAS,UACT,cAAe,gBACf,OAAQ,SACR,YAAa,cACb,QAAS,UACT,KAAM,EACR",
  "names": ["providerFactory_types_exports", "__export", "ProviderTypeEnum", "__toCommonJS"]
}
