import { BaseConcreteStrategy, BrowserEip1193Provider, ConcreteWalletStrategy, MagicProvider, SendTransactionOptions, StdSignDoc, WalletDeviceType } from "@injectivelabs/wallet-base"; import { AccountAddress, EvmChainId } from "@injectivelabs/ts-types"; import { AminoSignResponse, DirectSignResponse, TxRaw } from "@injectivelabs/sdk-ts/types"; //#region src/strategy/strategy.d.ts declare class Magic extends BaseConcreteStrategy implements ConcreteWalletStrategy { provider: BrowserEip1193Provider | undefined; private magicWallet; getWalletDeviceType(): Promise; enable({ email, provider }: { email?: string; provider?: MagicProvider; }): Promise; connectViaEmail(email?: string): Promise; connectViaOauth(provider: MagicProvider): Promise; disconnect(): Promise; getAddresses({ provider }: { provider: MagicProvider; }): Promise; getAddressesInfo(): Promise<{ address: string; derivationPath: string; baseDerivationPath: string; }[]>; getSessionOrConfirm(address: AccountAddress): Promise; sendEvmTransaction(_transaction: unknown, _options: { address: AccountAddress; evmChainId: EvmChainId; }): Promise; sendTransaction(transaction: TxRaw, options: SendTransactionOptions): Promise; signEip712TypedData(eip712json: string, _address: AccountAddress): Promise; signCosmosTransaction(_transaction: { txRaw: TxRaw; accountNumber: number; chainId: string; address: string; }): Promise; signAminoCosmosTransaction(_transaction: { address: string; signDoc: StdSignDoc; }): Promise; signArbitrary(_signer: AccountAddress, _data: string | Uint8Array): Promise; getEthereumChainId(): Promise; getEvmTransactionReceipt(_txHash: string): Promise; getPubKey(): Promise; private pollUserLoggedInState; private getMagicWallet; } //#endregion export { Magic as MagicStrategy };