import { P as PackedUserOperation, U as UserOperation } from '../../index-BrOH79EF.cjs'; declare class ERC4337Utils { static packAccountGasLimits(verificationGasLimit: bigint | string, callGasLimit: bigint | string): string; static unpackAccountGasLimits(accountGasLimits: string): { verificationGasLimit: bigint; callGasLimit: bigint; }; static packGasFees(maxPriorityFeePerGas: bigint | string, maxFeePerGas: bigint | string): string; static unpackGasFees(gasFees: string): { maxPriorityFeePerGas: bigint; maxFeePerGas: bigint; }; static packUserOperation(userOp: any): PackedUserOperation; static unpackUserOperation(packedOp: PackedUserOperation): any; } declare class UserOpBuilder { private static DEFAULT_VERIFICATION_GAS_LIMIT; private static DEFAULT_PRE_VERIFICATION_GAS; private static DEFAULT_MAX_FEE_PER_GAS; private static DEFAULT_MAX_PRIORITY_FEE_PER_GAS; constructor(); /** * Build specific parts of a UserOperation * Note: Full construction often requires chain interaction (nonce, gas price), * which typically happens in the application layer or via a Provider wrapper. * This builder focuses on formatting and structure. */ buildUserOp(params: { sender: string; callData: string; nonce?: bigint; initCode?: string; callGasLimit?: bigint; verificationGasLimit?: bigint; preVerificationGas?: bigint; maxFeePerGas?: bigint; maxPriorityFeePerGas?: bigint; paymasterAndData?: string; signature?: string; }): Promise; /** * Hash the UserOperation for signing (ERC-4337 v0.7) */ getUserOpHash(userOp: PackedUserOperation, entryPoint: string, chainId: number): string; } export { ERC4337Utils, UserOpBuilder };