import { type Address } from "viem"; export type PredictModularAccountV2AddressParams = { factoryAddress: Address; implementationAddress: Address; salt: bigint; } & ({ type: "MA"; ownerAddress: Address; entityId: number; } | { type: "SMA"; ownerAddress: Address; } | { type: "WebAuthn"; ownerPublicKey: { x: bigint; y: bigint; }; entityId: number; }); /** * Predicts the address of a modular account V2 based on the provided parameters, which include factory address, salt, and implementation address. This function supports different types of accounts including "SMA", "MA", and "WebAuthn". * * @example * ```ts * import { predictModularAccountV2Address } from "@account-kit/smart-contracts"; * * const accountAddress = predictModularAccountV2Address({ * factoryAddress: "0xFactoryAddress" as Address, * implementationAddress: "0xImplementation" as Address, * salt: 0n, * type: "SMA", * ownerAddress: "0xOwner" as Address, * }); * ``` * * @param {PredictModularAccountV2AddressParams} params The parameters for predicting the modular account address, including `factoryAddress`, `salt`, `implementationAddress`, and additional properties based on the account type. * @returns {Address} The predicted address for the modular account V2. */ export declare function predictModularAccountV2Address(params: PredictModularAccountV2AddressParams): Address;