import type { Address } from "abitype"; import { type FallbackTransport, type Hex, type Transport } from "viem"; import { KernelBaseValidator } from "./validator/base.js"; import { type BaseSmartAccountParams, BaseSmartContractAccount, type SmartAccountSigner, type BatchUserOperationCallData, type UserOperationRequest } from "@alchemy/aa-core"; export interface KernelSmartAccountParams extends Partial> { projectId: string; owner: SmartAccountSigner; factoryAddress?: Address; index?: bigint; validator?: KernelBaseValidator; } export declare function isKernelAccount(account: any): account is KernelSmartContractAccount; export declare class KernelSmartContractAccount extends BaseSmartContractAccount { private owner; private readonly factoryAddress; private readonly index; validator?: KernelBaseValidator; constructor(params: KernelSmartAccountParams); static init(params: KernelSmartAccountParams): Promise; connectValidator(validator: KernelBaseValidator): this; getDummySignature(): Hex; encodeExecute(target: Hex, value: bigint, data: Hex): Promise; encodeBatchExecute(_txs: BatchUserOperationCallData): Promise<`0x${string}`>; encodeExecuteDelegate(target: Hex, value: bigint, data: Hex): Promise; signWithEip6492(msg: string | Uint8Array): Promise; signMessage(msg: Uint8Array | string): Promise; signUserOp(userOp: UserOperationRequest): Promise; protected encodeExecuteAction(target: Hex, value: bigint, data: Hex, code: number): Hex; protected getAccountInitCode(): Promise; protected getFactoryInitCode(): Promise; }