import { type Address, type Chain } from "viem"; import type { LightAccountBase } from "./accounts/base"; import type { LightAccountType, LightAccountVersion, LightAccountVersionConfig, LightAccountVersionConfigs } from "./types"; /** * Account version registry interface that defines the light account versions * and the version definition for each light account type * */ export declare const AccountVersionRegistry: LightAccountVersionConfigs; /** * Get the default light account version for the given light account type * * @template {LightAccountType} TLightAccountType * @returns {LightAccountVersion} the default version for the given light account type */ export declare const defaultLightAccountVersion: () => LightAccountVersion; /** * Utility method returning the default light account factory address given a Chain object * * @param {Chain} chain - a Chain object * @param {LightAccountVersion} version - the version of the light account to get the factory address for * @returns {Address} an for the given chain * @throws if the chain doesn't have an address currently deployed */ export declare const getDefaultLightAccountFactoryAddress: (chain: Chain, version: LightAccountVersion<"LightAccount">) => Address; /** * Utility method returning the default multi owner light account factory address given a Chain object * * @param {Chain} chain - a Chain object * @param {string} version - the version of the light account to get the factory address for * @returns {Address} an Address for the given chain */ export declare const getDefaultMultiOwnerLightAccountFactoryAddress: (chain: Chain, version: LightAccountVersion<"MultiOwnerLightAccount">) => `0x${string}`; /** * Can be used to check if the account with one of the following implementation addresses * to not support 1271 signing. * * Light accounts with versions v1.0.1 and v1.0.2 do not support 1271 signing. */ export declare const LightAccountUnsupported1271Impls: LightAccountVersionConfig<"0.6.0">[]; /** * Can be used to check if the account with one of the following factory addresses * to not support 1271 signing. * * Light accounts with versions v1.0.1 and v1.0.2 do not support 1271 signing. */ export declare const LightAccountUnsupported1271Factories: Set<`0x${string}`>; /** * Get the light account version definition for the given light account and chain * * @template {LightAccountBase} TAccount * @param {LightAccountBase} account the light account to get the version for * @param {Chain} chain - the chain to get the version for * @returns {Promise} the light account version definition for the given light account and chain */ export declare function getLightAccountVersionForAccount(account: TAccount, chain: Chain): Promise;