// Code generated by mockery v2.53.5. DO NOT EDIT.

package mocks

import (
	engineprimitives "github.com/berachain/beacon-kit/engine-primitives/engine-primitives"
	math "github.com/berachain/beacon-kit/primitives/math"

	mock "github.com/stretchr/testify/mock"

	types "github.com/berachain/beacon-kit/consensus-types/types"
)

// BuiltExecutionPayloadEnv is an autogenerated mock type for the BuiltExecutionPayloadEnv type
type BuiltExecutionPayloadEnv struct {
	mock.Mock
}

type BuiltExecutionPayloadEnv_Expecter struct {
	mock *mock.Mock
}

func (_m *BuiltExecutionPayloadEnv) EXPECT() *BuiltExecutionPayloadEnv_Expecter {
	return &BuiltExecutionPayloadEnv_Expecter{mock: &_m.Mock}
}

// GetBlobsBundle provides a mock function with no fields
func (_m *BuiltExecutionPayloadEnv) GetBlobsBundle() engineprimitives.BlobsBundle {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetBlobsBundle")
	}

	var r0 engineprimitives.BlobsBundle
	if rf, ok := ret.Get(0).(func() engineprimitives.BlobsBundle); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(engineprimitives.BlobsBundle)
		}
	}

	return r0
}

// BuiltExecutionPayloadEnv_GetBlobsBundle_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetBlobsBundle'
type BuiltExecutionPayloadEnv_GetBlobsBundle_Call struct {
	*mock.Call
}

// GetBlobsBundle is a helper method to define mock.On call
func (_e *BuiltExecutionPayloadEnv_Expecter) GetBlobsBundle() *BuiltExecutionPayloadEnv_GetBlobsBundle_Call {
	return &BuiltExecutionPayloadEnv_GetBlobsBundle_Call{Call: _e.mock.On("GetBlobsBundle")}
}

func (_c *BuiltExecutionPayloadEnv_GetBlobsBundle_Call) Run(run func()) *BuiltExecutionPayloadEnv_GetBlobsBundle_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *BuiltExecutionPayloadEnv_GetBlobsBundle_Call) Return(_a0 engineprimitives.BlobsBundle) *BuiltExecutionPayloadEnv_GetBlobsBundle_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *BuiltExecutionPayloadEnv_GetBlobsBundle_Call) RunAndReturn(run func() engineprimitives.BlobsBundle) *BuiltExecutionPayloadEnv_GetBlobsBundle_Call {
	_c.Call.Return(run)
	return _c
}

// GetBlockValue provides a mock function with no fields
func (_m *BuiltExecutionPayloadEnv) GetBlockValue() *math.U256 {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetBlockValue")
	}

	var r0 *math.U256
	if rf, ok := ret.Get(0).(func() *math.U256); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*math.U256)
		}
	}

	return r0
}

// BuiltExecutionPayloadEnv_GetBlockValue_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetBlockValue'
type BuiltExecutionPayloadEnv_GetBlockValue_Call struct {
	*mock.Call
}

// GetBlockValue is a helper method to define mock.On call
func (_e *BuiltExecutionPayloadEnv_Expecter) GetBlockValue() *BuiltExecutionPayloadEnv_GetBlockValue_Call {
	return &BuiltExecutionPayloadEnv_GetBlockValue_Call{Call: _e.mock.On("GetBlockValue")}
}

func (_c *BuiltExecutionPayloadEnv_GetBlockValue_Call) Run(run func()) *BuiltExecutionPayloadEnv_GetBlockValue_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *BuiltExecutionPayloadEnv_GetBlockValue_Call) Return(_a0 *math.U256) *BuiltExecutionPayloadEnv_GetBlockValue_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *BuiltExecutionPayloadEnv_GetBlockValue_Call) RunAndReturn(run func() *math.U256) *BuiltExecutionPayloadEnv_GetBlockValue_Call {
	_c.Call.Return(run)
	return _c
}

// GetEncodedExecutionRequests provides a mock function with no fields
func (_m *BuiltExecutionPayloadEnv) GetEncodedExecutionRequests() []types.EncodedExecutionRequest {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetEncodedExecutionRequests")
	}

	var r0 []types.EncodedExecutionRequest
	if rf, ok := ret.Get(0).(func() []types.EncodedExecutionRequest); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]types.EncodedExecutionRequest)
		}
	}

	return r0
}

// BuiltExecutionPayloadEnv_GetEncodedExecutionRequests_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetEncodedExecutionRequests'
type BuiltExecutionPayloadEnv_GetEncodedExecutionRequests_Call struct {
	*mock.Call
}

// GetEncodedExecutionRequests is a helper method to define mock.On call
func (_e *BuiltExecutionPayloadEnv_Expecter) GetEncodedExecutionRequests() *BuiltExecutionPayloadEnv_GetEncodedExecutionRequests_Call {
	return &BuiltExecutionPayloadEnv_GetEncodedExecutionRequests_Call{Call: _e.mock.On("GetEncodedExecutionRequests")}
}

func (_c *BuiltExecutionPayloadEnv_GetEncodedExecutionRequests_Call) Run(run func()) *BuiltExecutionPayloadEnv_GetEncodedExecutionRequests_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *BuiltExecutionPayloadEnv_GetEncodedExecutionRequests_Call) Return(_a0 []types.EncodedExecutionRequest) *BuiltExecutionPayloadEnv_GetEncodedExecutionRequests_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *BuiltExecutionPayloadEnv_GetEncodedExecutionRequests_Call) RunAndReturn(run func() []types.EncodedExecutionRequest) *BuiltExecutionPayloadEnv_GetEncodedExecutionRequests_Call {
	_c.Call.Return(run)
	return _c
}

// GetExecutionPayload provides a mock function with no fields
func (_m *BuiltExecutionPayloadEnv) GetExecutionPayload() *types.ExecutionPayload {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetExecutionPayload")
	}

	var r0 *types.ExecutionPayload
	if rf, ok := ret.Get(0).(func() *types.ExecutionPayload); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*types.ExecutionPayload)
		}
	}

	return r0
}

// BuiltExecutionPayloadEnv_GetExecutionPayload_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetExecutionPayload'
type BuiltExecutionPayloadEnv_GetExecutionPayload_Call struct {
	*mock.Call
}

// GetExecutionPayload is a helper method to define mock.On call
func (_e *BuiltExecutionPayloadEnv_Expecter) GetExecutionPayload() *BuiltExecutionPayloadEnv_GetExecutionPayload_Call {
	return &BuiltExecutionPayloadEnv_GetExecutionPayload_Call{Call: _e.mock.On("GetExecutionPayload")}
}

func (_c *BuiltExecutionPayloadEnv_GetExecutionPayload_Call) Run(run func()) *BuiltExecutionPayloadEnv_GetExecutionPayload_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *BuiltExecutionPayloadEnv_GetExecutionPayload_Call) Return(_a0 *types.ExecutionPayload) *BuiltExecutionPayloadEnv_GetExecutionPayload_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *BuiltExecutionPayloadEnv_GetExecutionPayload_Call) RunAndReturn(run func() *types.ExecutionPayload) *BuiltExecutionPayloadEnv_GetExecutionPayload_Call {
	_c.Call.Return(run)
	return _c
}

// ShouldOverrideBuilder provides a mock function with no fields
func (_m *BuiltExecutionPayloadEnv) ShouldOverrideBuilder() bool {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for ShouldOverrideBuilder")
	}

	var r0 bool
	if rf, ok := ret.Get(0).(func() bool); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(bool)
	}

	return r0
}

// BuiltExecutionPayloadEnv_ShouldOverrideBuilder_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ShouldOverrideBuilder'
type BuiltExecutionPayloadEnv_ShouldOverrideBuilder_Call struct {
	*mock.Call
}

// ShouldOverrideBuilder is a helper method to define mock.On call
func (_e *BuiltExecutionPayloadEnv_Expecter) ShouldOverrideBuilder() *BuiltExecutionPayloadEnv_ShouldOverrideBuilder_Call {
	return &BuiltExecutionPayloadEnv_ShouldOverrideBuilder_Call{Call: _e.mock.On("ShouldOverrideBuilder")}
}

func (_c *BuiltExecutionPayloadEnv_ShouldOverrideBuilder_Call) Run(run func()) *BuiltExecutionPayloadEnv_ShouldOverrideBuilder_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *BuiltExecutionPayloadEnv_ShouldOverrideBuilder_Call) Return(_a0 bool) *BuiltExecutionPayloadEnv_ShouldOverrideBuilder_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *BuiltExecutionPayloadEnv_ShouldOverrideBuilder_Call) RunAndReturn(run func() bool) *BuiltExecutionPayloadEnv_ShouldOverrideBuilder_Call {
	_c.Call.Return(run)
	return _c
}

// NewBuiltExecutionPayloadEnv creates a new instance of BuiltExecutionPayloadEnv. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
// The first argument is typically a *testing.T value.
func NewBuiltExecutionPayloadEnv(t interface {
	mock.TestingT
	Cleanup(func())
}) *BuiltExecutionPayloadEnv {
	mock := &BuiltExecutionPayloadEnv{}
	mock.Mock.Test(t)

	t.Cleanup(func() { mock.AssertExpectations(t) })

	return mock
}
