import { ethers } from 'ethers'; import { Provider } from '@ethersproject/providers'; import { BaseTransactionWrapper } from './base-transaction-wrapper'; import { TransactionOptions } from '../types'; /** * Wrapper for Token Bound Account contract operations */ export declare class TBAWrapper extends BaseTransactionWrapper { /** * Create TBA wrapper instance * @param provider Provider instance * @param signer Signer instance */ constructor(provider: Provider, signer: ethers.Signer); /** * Get TBA account contract instance * @param address Account address * @returns ERC6551Account contract instance */ private getAccountContract; /** * Get token information of a TBA * @param accountAddress TBA address * @returns Token information */ tokenOf(accountAddress: string): Promise<{ chainId: ethers.BigNumber; tokenContract: string; tokenId: ethers.BigNumber; }>; /** * Get state of a TBA * @param accountAddress TBA address * @returns State as BigNumber */ getState(accountAddress: string): Promise; /** * Initialize a TBA * @param params Initialization parameters * @param options Transaction options * @returns Transaction */ initialize(params: { accountAddress: string; chainId: number; tokenContract: string; tokenId: ethers.BigNumber | number | string; }, options?: TransactionOptions): Promise; /** * Execute a transaction from a TBA * @param params Execution parameters * @param options Transaction options * @returns Transaction and result */ execute(params: { accountAddress: string; to: string; value: ethers.BigNumber | number | string; data: string; }, options?: TransactionOptions): Promise<{ tx: ethers.ContractTransaction; result: string; }>; /** * Check if address is a valid signer for a TBA * @param accountAddress TBA address * @param signerAddress Signer address to check * @returns Whether the address is a valid signer */ isValidSigner(accountAddress: string, signerAddress: string): Promise; } //# sourceMappingURL=tba-wrapper.d.ts.map