import { type KernelAccountClient, type KernelSmartAccount, type SmartAccountClientConfig } from "@zerodev/sdk"; import type { SmartAccount } from "permissionless/accounts"; import type { Middleware, PrepareUserOperationRequestReturnType } from "permissionless/actions/smartAccount"; import type { EntryPoint, Prettify } from "permissionless/types"; import type { StateOverrides } from "permissionless/types/bundler"; import { type Chain, type Client, type Transport } from "viem"; import { type ValidatorType, prepareMultiUserOpRequest } from "./actions/index.js"; export type KernelAccountMultiChainClientActions | undefined = SmartAccount | undefined> = { prepareMultiUserOpRequest: (args: Prettify>[1]>, validatorType: ValidatorType, numOfUserOps: number, stateOverrides?: StateOverrides) => Promise>>; }; export declare function kernelAccountMultiChainClientActions({ middleware }: Middleware): | undefined = SmartAccount | undefined>(client: Client) => KernelAccountMultiChainClientActions; export type KernelMultiChainClient | undefined = KernelSmartAccount | undefined> = KernelAccountClient & { prepareMultiUserOpRequest: (args: Prettify>[1]>, validatorType: ValidatorType, numOfUserOps: number, stateOverrides?: StateOverrides) => Promise>>; }; export declare const createKernelMultiChainClient: | undefined, TTransport extends Transport = Transport, TChain extends Chain | undefined = undefined, TEntryPoint extends EntryPoint = TSmartAccount extends KernelSmartAccount ? U : never>(parameters: { cacheTime?: number | undefined; chain?: Chain | TChain | undefined; key?: string | undefined; name?: string | undefined; pollingInterval?: number | undefined; account?: TSmartAccount | undefined; bundlerTransport: Transport; middleware?: { gasPrice?: (() => Promise<{ maxFeePerGas: bigint; maxPriorityFeePerGas: bigint; }>) | undefined; sponsorUserOperation?: ((args: { userOperation: import("permissionless").UserOperation>; entryPoint: TEntryPoint; }) => Promise>) | undefined; } | ((args: { userOperation: import("permissionless").UserOperation>; entryPoint: TEntryPoint; }) => Promise>>) | undefined; entryPoint: TEntryPoint; }) => KernelMultiChainClient; //# sourceMappingURL=multiChainClient.d.ts.map