import type { Chain, Client, Transport } from "viem"; import type { GetEntryPointFromAccount, SmartContractAccount } from "../../account/smartContractAccount.js"; import type { SendUserOperationResult } from "../../client/types.js"; import type { SendUserOperationParameters, UserOperationContext } from "./types.js"; /** * Sends a user operation or batch of user operations using the connected account. Before executing, sendUserOperation will run the user operation through the middleware pipeline. * * @example * ```ts * import { createSmartAccountClient, toSmartContractAccount } from "@aa-sdk/core"; * * const account = await toSmartContractAccount(...); * const result = await createSmartAccountClient(...).sendUserOperation({ * uo: { * target: "0x...", * data: "0x...", // or "0x", * value: 0n, // optional * } * }); * ``` * * @param {Client} client_ the smart account client to use for RPC requests * @param {SendUserOperationParameters} args contains the UO or batch to send, context, overrides, and account if not hoisted on the client * @returns {Promise>} a Promise containing the result of the user operation */ export declare function sendUserOperation = GetEntryPointFromAccount>(client_: Client, args: SendUserOperationParameters): Promise>;