import type { EntryPointDef, SmartAccountSigner, ToSmartContractAccountParams } from "@aa-sdk/core"; import { type Address, type Chain, type Hex, type Transport } from "viem"; import { type SignerEntity, type ModularAccountV2, type WebauthnModularAccountV2 } from "./common/modularAccountV2Base.js"; import type { ToWebAuthnAccountParameters } from "viem/account-abstraction"; export type CreateModularAccountV2Params = (Pick, "transport" | "chain" | "accountAddress"> & { signer: TSigner; entryPoint?: EntryPointDef<"0.7.0", Chain>; deferredAction?: Hex; signerEntity?: SignerEntity; }) & ({ mode?: "default"; salt?: bigint; factoryAddress?: Address; implementationAddress?: Address; initCode?: Hex; } | { mode: "7702"; }); export type CreateWebauthnModularAccountV2Params = Pick, "transport" | "chain" | "accountAddress"> & { mode: "webauthn"; credential: ToWebAuthnAccountParameters["credential"]; getFn?: ToWebAuthnAccountParameters["getFn"] | undefined; rpId?: ToWebAuthnAccountParameters["rpId"] | undefined; entryPoint?: EntryPointDef<"0.7.0", Chain>; deferredAction?: Hex; signerEntity?: SignerEntity; salt?: bigint; factoryAddress?: Address; initCode?: Hex; }; export declare function createModularAccountV2(config: CreateModularAccountV2Params): Promise>; export declare function createModularAccountV2(config: CreateWebauthnModularAccountV2Params): Promise;