import { type GetAccountParameter, type SmartAccountClient, type SmartAccountSigner, type SmartContractAccount, type SmartContractAccountWithSigner, type UpgradeToData } from "@aa-sdk/core"; import type { Address, Chain, Transport } from "viem"; import { type MultiOwnerModularAccount } from "./account/multiOwnerAccount.js"; /** * Utility method returning the default multi sig msca factory address given a chain * * @param {Chain} chain the chain object for which to get the address * @returns {Address} the address for the given chain * @throws if the chain doesn't have an address currently deployed */ export declare const getDefaultMultisigModularAccountFactoryAddress: (chain: Chain) => Address; /** * Utility method returning the default multi owner msca factory address given a chain * * @param {Chain} chain the chain object for which to get the address * @returns {Address} the address for the given chain * @throws if the chain doesn't have an address currently deployed */ export declare const getDefaultMultiOwnerModularAccountFactoryAddress: (chain: Chain) => Address; export type GetMSCAUpgradeToData | undefined = SmartContractAccountWithSigner | undefined> = { multiOwnerPluginAddress?: Address; } & GetAccountParameter; /** * Retrieves the data necessary to upgrade to a Multi-Signature Contract Account (MSCA) and provides a method to create a Multi-Owner Modular Account. * * @example * ```ts * import { createLightAccountClient, getMSCAUpgradeToData } from "@account-kit/smart-contracts"; * * const client = createLightAccountClient(...); * const upgradeData = await getMSCAUpgradeToData(client, {}); * ``` * * @param {SmartAccountClient} client The smart account client * @param {GetMSCAUpgradeToData} args The arguments required for the upgrade * @returns {Promise Promise>}>} A promise that resolves to upgrade data augmented with a function to create a Multi-Owner Modular Account */ export declare function getMSCAUpgradeToData | undefined = SmartContractAccountWithSigner | undefined>(client: SmartAccountClient, args: GetMSCAUpgradeToData): Promise Promise>; }>; export type GetMAInitializationDataParams = { multiOwnerPluginAddress?: Address; client: SmartAccountClient; signerAddress: Address | Address[]; }; /** * Retrieves the initialization data for a multi-owner modular account. Throws an error if the client's chain is not found or if the multi-owner plugin address is not retrievable. * * @example * ```ts * import { getMAInitializationData } from "@account-kit/smart-contracts"; * import { createSmartAccountClient } from "@aa-sdk/core"; * * const client = createSmartAccountClient(...); * const initializationData = await getMAInitializationData({ * client, * signerAddress: "0x...", // or array of signers * }); * ``` * * @param {GetMAInitializationDataParams} params the parameters for getting initialization data * @param {SmartAccountClient} params.client the smart account client * @param {Address | Address[]} params.signerAddress the address of the signer or an array of signer addresses * @param {Address} [params.multiOwnerPluginAddress] optional address of the multi-owner plugin * @returns {Promise} a promise that resolves to the initialization data required for upgrading to a multi-owner modular account */ export declare function getMAInitializationData({ client, multiOwnerPluginAddress, signerAddress, }: GetMAInitializationDataParams): Promise; //# sourceMappingURL=utils.d.ts.map