import { ethers } from 'ethers'; import { Provider } from '@ethersproject/providers'; import { BaseTransactionWrapper } from './base-transaction-wrapper'; import { TransactionOptions } from '../types'; /** * Wrapper for ERC6551Registry contract, used to create and manage Token Bound Accounts (TBA) */ export declare class ERC6551RegistryWrapper extends BaseTransactionWrapper { private _registry; /** * Create ERC6551Registry wrapper instance * @param provider Provider instance * @param signer Signer instance */ constructor(provider: Provider, signer: ethers.Signer); /** * Get ERC6551Registry contract instance * @returns ERC6551Registry contract instance */ private getRegistry; /** * Calculate TBA account address * @param implementation Account implementation contract address * @param salt Salt * @param chainId Chain ID * @param tokenContract Token contract address * @param tokenId Token ID * @returns Account address */ account(implementation: string, salt: string | ethers.BigNumber, chainId: number, tokenContract: string, tokenId: number | string): Promise; /** * Create TBA account * @param params Account creation parameters * @param options Transaction options * @returns Created account address and transaction */ createAccount(params: { implementation: string; salt: string | ethers.BigNumber; chainId: number; tokenContract: string; tokenId: number | string; }, options?: TransactionOptions): Promise<{ accountAddress: string; tx: ethers.ContractTransaction; }>; /** * Update connection information (when network changes) * @param provider New Provider * @param signer New Signer */ updateConnection(provider: Provider, signer: ethers.Signer): void; } //# sourceMappingURL=erc6551-registry-wrapper.d.ts.map