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