import { type Address, type EntryPointDef, type SmartAccountSigner } from "@alchemy/aa-core"; import { type Chain, type Hex, type Transport } from "viem"; import type { GetEntryPointForLightAccountVersion, GetLightAccountVersion } from "../types.js"; import { type CreateLightAccountBaseParams, type LightAccountBase } from "./base.js"; export type LightAccount = GetLightAccountVersion<"LightAccount">, TEntryPointVersion extends GetEntryPointForLightAccountVersion<"LightAccount", TLightAccountVersion> = GetEntryPointForLightAccountVersion<"LightAccount", TLightAccountVersion>> = LightAccountBase & { encodeTransferOwnership: (newOwner: Address) => Hex; getOwnerAddress: () => Promise
; }; export type CreateLightAccountParams = GetLightAccountVersion<"LightAccount">, TEntryPointVersion extends GetEntryPointForLightAccountVersion<"LightAccount", TLightAccountVersion> = GetEntryPointForLightAccountVersion<"LightAccount", TLightAccountVersion>> = Omit, "getAccountInitCode" | "entryPoint" | "version" | "abi" | "accountAddress"> & { salt?: bigint; initCode?: Hex; accountAddress?: Address; factoryAddress?: Address; version?: TLightAccountVersion; entryPoint?: EntryPointDef; }; export declare function createLightAccount = "v1.1.0">(config: CreateLightAccountParams): Promise>; export declare function createLightAccount = GetLightAccountVersion<"LightAccount">, TEntryPointVersion extends GetEntryPointForLightAccountVersion<"LightAccount", TLightAccountVersion> = GetEntryPointForLightAccountVersion<"LightAccount", TLightAccountVersion>>(config: CreateLightAccountParams): Promise>;