import { type KernelPluginManager } from "@zerodev/sdk"; import type { CallType, EntryPointType, GetEntryPointAbi, GetKernelVersion, PluginMigrationData, Signer } from "@zerodev/sdk/types"; import { type Address, type Assign, type EncodeDeployDataParameters, type Hex, type SignableMessage } from "viem"; import { type EntryPointVersion, type SmartAccount, type SmartAccountImplementation } from "viem/account-abstraction"; import type { SignAuthorizationReturnType } from "viem/accounts"; type SignMessageParameters = { message: SignableMessage; useReplayableSignature?: boolean; }; export type KernelSmartAccount7702Implementation = Assign, entryPointVersion>, { sign: NonNullable; encodeCalls: (calls: Parameters[0], callType?: CallType | undefined) => Promise; kernelVersion: GetKernelVersion; kernelPluginManager: KernelPluginManager; factoryAddress: Address | undefined; accountImplementationAddress: Address; generateInitCode: () => Promise; encodeModuleInstallCallData: () => Promise; encodeDeployCallData: ({ abi, args, bytecode }: EncodeDeployDataParameters) => Promise; signMessage: (parameters: SignMessageParameters) => Promise; signAuthorization: () => Promise; }>; export type Create7702KernelAccountReturnType = SmartAccount>; export type Create7702KernelAccountParameters = { signer: Signer; plugins?: Omit, "entryPoint" | "kernelVersion"> | KernelPluginManager; entryPoint: EntryPointType; accountImplementationAddress?: Address; kernelVersion: GetKernelVersion; pluginMigrations?: PluginMigrationData[]; eip7702Auth?: SignAuthorizationReturnType; }; /** * Build a kernel smart account from a private key, that use the ECDSA signer behind the scene * @param client * @param privateKey * @param entryPoint * @param index * @param factoryAddress * @param accountImplementationAddress * @param ecdsaValidatorAddress * @param address */ export declare function create7702KernelAccount(client: KernelSmartAccount7702Implementation["client"], { signer, plugins, entryPoint, accountImplementationAddress: _accountImplementationAddress, kernelVersion, pluginMigrations, eip7702Auth }: Create7702KernelAccountParameters): Promise>; export {}; //# sourceMappingURL=create7702KernelAccount.d.ts.map