import type { Abi, Address } from 'abitype'; import type { PrivateKeyAccount } from '../../../accounts/types.js'; import type { Prettify } from '../../../types/utils.js'; import { entryPoint08Abi, entryPoint09Abi } from '../../constants/abis.js'; import type { EntryPointVersion } from '../../types/entryPointVersion.js'; import type { SmartAccount, SmartAccountImplementation } from '../types.js'; type EntryPoint = '0.8' | '0.9' | { abi: Abi; address: Address; version: EntryPointVersion; }; export type ToSimple7702SmartAccountParameters = { client: Simple7702SmartAccountImplementation['client']; entryPoint?: entryPoint | EntryPoint | undefined; implementation?: Address | undefined; getNonce?: SmartAccountImplementation['getNonce'] | undefined; owner: PrivateKeyAccount; }; export type ToSimple7702SmartAccountReturnType = Prettify>>; export type Simple7702SmartAccountImplementation = SmartAccountImplementation; /** * @description Create a Simple7702 Smart Account – based off [eth-infinitism's `Simple7702Account.sol`](https://github.com/eth-infinitism/account-abstraction/blob/develop/contracts/accounts/Simple7702Account.sol). * * @param parameters - {@link ToSimple7702SmartAccountParameters} * @returns Simple7702 Smart Account. {@link ToSimple7702SmartAccountReturnType} * * @example * import { toSimple7702SmartAccount } from 'viem/account-abstraction' * import { client } from './client.js' * * const implementation = toSimple7702SmartAccount({ * client, * owner: '0x...', * }) */ export declare function toSimple7702SmartAccount(parameters: ToSimple7702SmartAccountParameters): Promise>; export {}; //# sourceMappingURL=toSimple7702SmartAccount.d.ts.map