import { type Chain } from 'viem'; import type { PublicClient, WalletClient } from 'viem'; type GetAAAccountClientOptions = { chain?: Chain; publicClient?: PublicClient; walletClient?: WalletClient; ethereumProvider?: any; includeDeployParams?: boolean; accountAddress?: `0x${string}`; }; /** * Get the counterfactual AA address for an agent name (client-side computation) * * This function computes the AA address without creating a full account client. * It uses the wallet provider (MetaMask/Web3Auth) to compute the address. * * @param agentName - The agent name * @param eoaAddress - The EOA address (owner of the AA account) * @param options - Options for chain, ethereumProvider, etc. * @returns The counterfactual AA address */ export declare function getCounterfactualSmartAccountAddressByAgentName(agentName: string, eoaAddress: `0x${string}`, options?: GetAAAccountClientOptions): Promise<`0x${string}`>; /** * @deprecated Use getCounterfactualSmartAccountAddressByAgentName */ export declare function getCounterfactualAAAddressByAgentName(agentName: string, eoaAddress: `0x${string}`, options?: GetAAAccountClientOptions): Promise<`0x${string}`>; export declare function getCounterfactualAccountClientByAgentName(agentName: string, eoaAddress: `0x${string}`, options?: GetAAAccountClientOptions): Promise; /** * Build a deployed MetaMask smart account client from a known smart account address. * Prefer this when you already know the correct agent smart account address (agentAccount), * since name-based derivation is case-sensitive. */ export declare function getDeployedAccountClientByAddress(accountAddress: `0x${string}`, eoaAddress: `0x${string}`, options?: GetAAAccountClientOptions): Promise; export declare function getDeployedAccountClientByAgentName(bundlerUrl: string, agentName: string, eoaAddress: `0x${string}`, options?: GetAAAccountClientOptions): Promise; /** * Send a sponsored UserOperation via bundler * * @param params - UserOperation parameters * @returns UserOperation hash */ export declare function sendSponsoredUserOperation(params: { bundlerUrl: string; chain: Chain; accountClient: any; calls: { to: `0x${string}`; data?: `0x${string}`; value?: bigint; }[]; }): Promise<`0x${string}`>; /** * Wait for UserOperation receipt * * @param params - Receipt parameters * @returns UserOperation receipt */ export declare function waitForUserOperationReceipt(params: { bundlerUrl: string; chain: Chain; hash: `0x${string}`; }): Promise; /** * Deploy smart account if needed * * @param params - Deployment parameters * @returns true if account was deployed, false if already deployed */ export declare function deploySmartAccountIfNeeded(params: { bundlerUrl: string; chain: Chain; account: { isDeployed: () => Promise; }; }): Promise; /** * Check if an address is a smart contract (has code) * * @param publicClient - Viem public client * @param address - Address to check * @returns true if address has code (is a contract), false if EOA */ export declare function isSmartContract(publicClient: any, address: `0x${string}`): Promise; export {}; //# sourceMappingURL=accountClient.d.ts.map