import type { Account, Address, Chain, Client, Hex, OneOf, PartialBy, Transport } from "viem"; import type { EntryPointVersion, UserOperation } from "viem/account-abstraction"; import type { PimlicoRpcSchema } from "../../types/pimlico.js"; type PaymasterContext = { sponsorshipPolicyId?: string; validForSeconds?: number; meta?: Record; [key: string]: unknown; }; export type PimlicoSponsorUserOperationParameters = { userOperation: OneOf<(entryPointVersion extends "0.6" ? PartialBy, "callGasLimit" | "preVerificationGas" | "verificationGasLimit"> : never) | (entryPointVersion extends "0.7" ? PartialBy, "callGasLimit" | "preVerificationGas" | "verificationGasLimit" | "paymasterVerificationGasLimit" | "paymasterPostOpGasLimit"> : never)>; entryPoint: { address: Address; version: entryPointVersion; }; sponsorshipPolicyId?: string; paymasterContext?: PaymasterContext | unknown; }; export type SponsorUserOperationReturnType = OneOf<(entryPointVersion extends "0.6" ? { callGasLimit: bigint; verificationGasLimit: bigint; preVerificationGas: bigint; paymasterAndData: Hex; } : never) | (entryPointVersion extends "0.7" ? { callGasLimit: bigint; verificationGasLimit: bigint; preVerificationGas: bigint; paymaster: Address; paymasterVerificationGasLimit: bigint; paymasterPostOpGasLimit: bigint; paymasterData: Hex; } : never)>; export declare const sponsorUserOperation: (client: Client>, args: PimlicoSponsorUserOperationParameters) => Promise>; export {}; //# sourceMappingURL=sponsorUserOperation.d.ts.map