import { type SmartAccountClient, type SmartAccountClientConfig, type SmartAccountSigner } from "@aa-sdk/core"; import { type Chain, type Transport } from "viem"; import { type CreateModularAccountV2Params, type CreateWebauthnModularAccountV2Params } from "../account/modularAccountV2.js"; import { type AlchemySmartAccountClient, type AlchemySmartAccountClientConfig, type AlchemyTransport } from "@account-kit/infra"; import type { LightAccount } from "../../light-account/accounts/account.js"; import type { ToWebAuthnAccountParameters } from "viem/account-abstraction"; import type { ModularAccountV2, WebauthnModularAccountV2 } from "../account/common/modularAccountV2Base.js"; export type ModularAccountV2Client = TTransport extends AlchemyTransport ? AlchemySmartAccountClient> : SmartAccountClient>; export type WebauthnModularAccountV2Client = TTransport extends AlchemyTransport ? AlchemySmartAccountClient : SmartAccountClient; export type CreateModularAccountV2ClientParams = CreateModularAccountV2Params & Omit : SmartAccountClientConfig, "transport" | "account" | "chain">; export type CreateWebauthnModularAccountV2ClientParams = CreateWebauthnModularAccountV2Params & Omit : SmartAccountClientConfig, "transport" | "account" | "chain"> & { credential: ToWebAuthnAccountParameters["credential"]; getFn?: ToWebAuthnAccountParameters["getFn"]; rpId?: ToWebAuthnAccountParameters["rpId"]; }; export type CreateModularAccountV2AlchemyClientParams = Omit, "transport"> & Omit>, "account"> & { paymasterAndData?: never; dummyPaymasterAndData?: never; }; export declare function createModularAccountV2Client(args: CreateModularAccountV2AlchemyClientParams): Promise>; export declare function createModularAccountV2Client(args: CreateModularAccountV2ClientParams): Promise>; export declare function createModularAccountV2Client(args: CreateWebauthnModularAccountV2ClientParams): Promise>;