import { ethers } from 'ethers'; import { BalancesResponse, Config, ExecuteMigrationDto, ExecuteMigrationGaslessDto, MigrationResponse, WALLET_TYPE, DeployWalletDto, NativeTransferDeployWalletDto, TrxStatusResponse, ExecuteMigrationForwardDto, SmartAccountResponse, DeployWalletReponse } from './utils/AarcTypes'; import Biconomy from './providers/Biconomy'; import Safe from './providers/Safe'; import Alchemy from './providers/Alchemy'; import Zerodev from './providers/Zerodev'; import { PermitHelper } from './helpers/PermitHelper'; declare class AarcSDK { biconomy: Biconomy; safe: Safe; alchemy: Alchemy; zerodev: Zerodev; chainId: number; apiKey: string; ethersProvider: ethers.providers.JsonRpcProvider; permitHelper: PermitHelper; constructor(config: Config); /** * Function to get the address of the Smart Wallet by different Wallet Providers. * @param walletType Type of Wallet Provider * @param owner The address of the EOA that owns the wallet * @returns Reponse including the address of the wallet, the wallet index and whether it is deployed or not */ getSmartWalletAddresses(walletType: WALLET_TYPE, owner: string): Promise; /** * Function to deploy the Smart Wallet on the chosen Wallet Provider. * @param deployWalletDto Parameters to deploy a Smart Wallet. Those include owner address, signer, and wallet provider type. * @returns Reponse including the Smart Wallet deployment Index, txnHash, chainId and message. */ deployWallet(deployWalletDto: DeployWalletDto): Promise; /** * Function to deploy the Smart Wallet on the chosen Wallet Provider and transfer native tokens. * @param nativeTransferDeployWalletDto Parameters to deploy a Smart Wallet and transfer native tokens. Those include owner address, signer, receiver and wallet provider type. * @returns Migration response including the token address and message. * @dev if the txn successful then the Migration response will also include the txnHash, taskId and amount. */ transferNativeAndDeploy(nativeTransferDeployWalletDto: NativeTransferDeployWalletDto): Promise; /** * @description this function will return balances of ERC-20, ERC-721 and native tokens * @param balancesDto * @returns */ fetchBalances(eoaAddress: string, fetchBalancesOnly?: boolean, tokenAddresses?: string[]): Promise; executeMigration(executeMigrationDto: ExecuteMigrationDto): Promise; executeMigrationGasless(executeMigrationGaslessDto: ExecuteMigrationGaslessDto): Promise; executeForwardTransaction(executeMigrationForwardDto: ExecuteMigrationForwardDto): Promise; getTransactionStatus(taskId: string): Promise; } export default AarcSDK;