import { type Address, type Chain } from "viem"; import type { LightAccountBase } from "./accounts/base"; import type { AccountVersionDef, GetLightAccountType, GetLightAccountVersion, IAccountVersionRegistry, LightAccountVersion, LightAccountVersionDef } from "./types"; /** * Light account deployed chains * */ export declare const supportedChains: Chain[]; /** * Account version registry interface that defines the light account versions * and the version definition for each light account type * */ export declare const AccountVersionRegistry: IAccountVersionRegistry; /** * Get the default light account version for the given light account type * * @template {LightAccountType} TLightAccountType * @param type - the light account type to get the default version for * @returns the default version for the given light account type */ export declare const defaultLightAccountVersion: (type: TLightAccountType) => keyof IAccountVersionRegistry[TLightAccountType]; /** * Utility method returning the default light account factory address given a {@link Chain} object * * @param chain - a {@link Chain} object * @param version - the version of the light account to get the factory address for * @returns a {@link Address} for the given chain * @throws if the chain doesn't have an address currently deployed */ export declare const getDefaultLightAccountFactoryAddress: (chain: Chain, version?: LightAccountVersion) => Address; /** * 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: (AccountVersionDef<"LightAccount", "v1.0.1", "0.6.0"> | AccountVersionDef<"LightAccount", "v1.0.2", "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 * @template {GetLightAccountType} TLightAccountType * @template {GetLightAccountVersion} TLightAccountVersion * @param account - the light account to get the version for * @param chain - the chain to get the version for * @returns the light account version definition for the given light account and chain */ export declare function getLightAccountVersionDef = GetLightAccountType, TLightAccountVersion extends GetLightAccountVersion = GetLightAccountVersion>(account: TAccount, chain: Chain): Promise>; /** * Get the light account version definition for the given light account and chain * * @template {LightAccountBase} TAccount * @template {GetLightAccountType} TLightAccountType * @param account - the light account to get the version for * @param chain - the chain to get the version for * @returns the light account version definition for the given light account and chain */ export declare function getLightAccountVersionDef = GetLightAccountType>(account: TAccount, chain: Chain): Promise>>; /** * @param account - the light account to get the version for * @param chain - the chain to get the version for * * @deprecated don't use this function as this function is replaced with getLightAccountVersionDef. * Migrate to using getLightAccountVersionDef instead * * @returns the light account version for the given light account and chain */ export declare function getLightAccountVersion = GetLightAccountType>(account: TAccount, chain?: Chain): Promise>; //# sourceMappingURL=utils.d.ts.map