import { type Abi, type EntryPointDef, type SmartAccountSigner, type SmartContractAccountWithSigner, type ToSmartContractAccountParams } from "@alchemy/aa-core"; import { type Address, type Chain, type Transport } from "viem"; import type { GetEntryPointForLightAccountVersion, GetLightAccountVersion, LightAccountType, LightAccountVersionDef } from "../types.js"; export type LightAccountBase = GetLightAccountVersion, TEntryPointVersion extends GetEntryPointForLightAccountVersion = GetEntryPointForLightAccountVersion> = SmartContractAccountWithSigner & { getLightAccountVersion: () => TLightAccountVersion; }; export type CreateLightAccountBaseParams = GetLightAccountVersion, TEntryPointVersion extends GetEntryPointForLightAccountVersion = GetEntryPointForLightAccountVersion> = Pick, "transport" | "chain" | "getAccountInitCode"> & { abi: Abi; signer: TSigner; accountAddress: Address; version: LightAccountVersionDef; entryPoint: EntryPointDef; }; export declare function createLightAccountBase = GetLightAccountVersion, TEntryPointVersion extends GetEntryPointForLightAccountVersion = GetEntryPointForLightAccountVersion>(config: CreateLightAccountBaseParams): Promise>;