import { type PublicClient, type WalletClient, type Chain, type Transport, type Account } from 'viem'; import { type Guardrails, type AzethContractAddresses } from '@azeth/common'; import { type RegisterParams } from '../registry/register.js'; export interface CreateAccountParams { owner: `0x${string}`; salt?: `0x${string}`; guardrails: Guardrails; protocols?: `0x${string}`[]; tokens?: `0x${string}`[]; /** Registry metadata for ERC-8004 trust registry registration. * Pass undefined to skip registration (tokenId will be 0). */ registry?: RegisterParams; } export interface CreateAccountResult { account: `0x${string}`; tokenId: bigint; txHash: `0x${string}`; /** How the creation transaction was funded: * 'gasless-relay' — the Azeth server relay sponsored gas (createAccountWithSignature); * 'direct' — the owner EOA paid gas with a direct factory transaction * (fallback when the relay is unreachable or rate-limited). */ creationPath?: 'gasless-relay' | 'direct'; } /** Deploy a new Azeth smart account via the AzethFactory v11 (one-call setup). * * Single atomic transaction: deploys ERC-1967 proxy, installs all 4 modules, * registers on ERC-8004 trust registry (optional), and permanently revokes factory access. */ export declare function createAccount(publicClient: PublicClient, walletClient: WalletClient, addresses: AzethContractAddresses, params: CreateAccountParams): Promise; /** Compute the deterministic address for an account without deploying */ export declare function getAccountAddress(publicClient: PublicClient, addresses: AzethContractAddresses, owner: `0x${string}`, salt: `0x${string}`): Promise<`0x${string}`>; //# sourceMappingURL=create.d.ts.map