import { ethers } from 'ethers'; export type WalletContext = { version: number; factory: string; mainModule: string; mainModuleUpgradable: string; guestModule: string; walletCreationCode: string; proxyImplementationHook?: string; }; export declare function addressOf(context: WalletContext, imageHash: ethers.BytesLike): string; export declare function isValidCounterfactual(wallet: string, digest: ethers.BytesLike, signature: ethers.BytesLike, chainId: ethers.BigNumberish, provider: ethers.Provider, contexts: { [key: number]: WalletContext; }): Promise; export type VersionedContext = { [key: number]: WalletContext; }; export declare function isValidVersionedContext(contexts: VersionedContext): boolean; export declare function latestContext(contexts: VersionedContext): WalletContext; export declare const defaultContexts: VersionedContext;