UserOperationStruct
type UserOperationStruct = {  callData: PromiseOrValue<BytesLike>;  callGasLimit: PromiseOrValue<BigNumberish>;  initCode: PromiseOrValue<BytesLike>;  maxFeePerGas: PromiseOrValue<BigNumberish>;  maxPriorityFeePerGas: PromiseOrValue<BigNumberish>;  nonce: PromiseOrValue<BigNumberish>;  paymasterAndData: PromiseOrValue<BytesLike>;  preVerificationGas: PromiseOrValue<BigNumberish>;  sender: PromiseOrValue<string>;  signature: PromiseOrValue<BytesLike>;  verificationGasLimit: PromiseOrValue<BigNumberish>;};
type callData = PromiseOrValue<BytesLike>;
type callGasLimit = PromiseOrValue<BigNumberish>;
type initCode = PromiseOrValue<BytesLike>;
type maxFeePerGas = PromiseOrValue<BigNumberish>;
type maxPriorityFeePerGas = PromiseOrValue<BigNumberish>;
type nonce = PromiseOrValue<BigNumberish>;
type paymasterAndData = PromiseOrValue<BytesLike>;
type preVerificationGas = PromiseOrValue<BigNumberish>;
type sender = PromiseOrValue<string>;
type signature = PromiseOrValue<BytesLike>;
type verificationGasLimit = PromiseOrValue<BigNumberish>;