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

package docker

import (
	context "context"

	container "github.com/docker/docker/api/types/container"

	image "github.com/docker/docker/api/types/image"

	io "io"

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

	network "github.com/docker/docker/api/types/network"

	system "github.com/docker/docker/api/types/system"

	types "github.com/docker/docker/api/types"

	v1 "github.com/opencontainers/image-spec/specs-go/v1"

	volume "github.com/docker/docker/api/types/volume"
)

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

type MockClient_Expecter struct {
	mock *mock.Mock
}

func (_m *MockClient) EXPECT() *MockClient_Expecter {
	return &MockClient_Expecter{mock: &_m.Mock}
}

// ClientVersion provides a mock function with no fields
func (_m *MockClient) ClientVersion() string {
	ret := _m.Called()

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

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

	return r0
}

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

// ClientVersion is a helper method to define mock.On call
func (_e *MockClient_Expecter) ClientVersion() *MockClient_ClientVersion_Call {
	return &MockClient_ClientVersion_Call{Call: _e.mock.On("ClientVersion")}
}

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

func (_c *MockClient_ClientVersion_Call) Return(_a0 string) *MockClient_ClientVersion_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockClient_ClientVersion_Call) RunAndReturn(run func() string) *MockClient_ClientVersion_Call {
	_c.Call.Return(run)
	return _c
}

// Close provides a mock function with no fields
func (_m *MockClient) Close() error {
	ret := _m.Called()

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

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

	return r0
}

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

// Close is a helper method to define mock.On call
func (_e *MockClient_Expecter) Close() *MockClient_Close_Call {
	return &MockClient_Close_Call{Call: _e.mock.On("Close")}
}

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

func (_c *MockClient_Close_Call) Return(_a0 error) *MockClient_Close_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockClient_Close_Call) RunAndReturn(run func() error) *MockClient_Close_Call {
	_c.Call.Return(run)
	return _c
}

// ContainerAttach provides a mock function with given fields: ctx, _a1, options
func (_m *MockClient) ContainerAttach(ctx context.Context, _a1 string, options container.AttachOptions) (types.HijackedResponse, error) {
	ret := _m.Called(ctx, _a1, options)

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

	var r0 types.HijackedResponse
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, string, container.AttachOptions) (types.HijackedResponse, error)); ok {
		return rf(ctx, _a1, options)
	}
	if rf, ok := ret.Get(0).(func(context.Context, string, container.AttachOptions) types.HijackedResponse); ok {
		r0 = rf(ctx, _a1, options)
	} else {
		r0 = ret.Get(0).(types.HijackedResponse)
	}

	if rf, ok := ret.Get(1).(func(context.Context, string, container.AttachOptions) error); ok {
		r1 = rf(ctx, _a1, options)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

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

// ContainerAttach is a helper method to define mock.On call
//   - ctx context.Context
//   - _a1 string
//   - options container.AttachOptions
func (_e *MockClient_Expecter) ContainerAttach(ctx interface{}, _a1 interface{}, options interface{}) *MockClient_ContainerAttach_Call {
	return &MockClient_ContainerAttach_Call{Call: _e.mock.On("ContainerAttach", ctx, _a1, options)}
}

func (_c *MockClient_ContainerAttach_Call) Run(run func(ctx context.Context, _a1 string, options container.AttachOptions)) *MockClient_ContainerAttach_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(string), args[2].(container.AttachOptions))
	})
	return _c
}

func (_c *MockClient_ContainerAttach_Call) Return(_a0 types.HijackedResponse, _a1 error) *MockClient_ContainerAttach_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockClient_ContainerAttach_Call) RunAndReturn(run func(context.Context, string, container.AttachOptions) (types.HijackedResponse, error)) *MockClient_ContainerAttach_Call {
	_c.Call.Return(run)
	return _c
}

// ContainerCreate provides a mock function with given fields: ctx, config, hostConfig, networkingConfig, platform, containerName
func (_m *MockClient) ContainerCreate(ctx context.Context, config *container.Config, hostConfig *container.HostConfig, networkingConfig *network.NetworkingConfig, platform *v1.Platform, containerName string) (container.CreateResponse, error) {
	ret := _m.Called(ctx, config, hostConfig, networkingConfig, platform, containerName)

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

	var r0 container.CreateResponse
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, *container.Config, *container.HostConfig, *network.NetworkingConfig, *v1.Platform, string) (container.CreateResponse, error)); ok {
		return rf(ctx, config, hostConfig, networkingConfig, platform, containerName)
	}
	if rf, ok := ret.Get(0).(func(context.Context, *container.Config, *container.HostConfig, *network.NetworkingConfig, *v1.Platform, string) container.CreateResponse); ok {
		r0 = rf(ctx, config, hostConfig, networkingConfig, platform, containerName)
	} else {
		r0 = ret.Get(0).(container.CreateResponse)
	}

	if rf, ok := ret.Get(1).(func(context.Context, *container.Config, *container.HostConfig, *network.NetworkingConfig, *v1.Platform, string) error); ok {
		r1 = rf(ctx, config, hostConfig, networkingConfig, platform, containerName)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

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

// ContainerCreate is a helper method to define mock.On call
//   - ctx context.Context
//   - config *container.Config
//   - hostConfig *container.HostConfig
//   - networkingConfig *network.NetworkingConfig
//   - platform *v1.Platform
//   - containerName string
func (_e *MockClient_Expecter) ContainerCreate(ctx interface{}, config interface{}, hostConfig interface{}, networkingConfig interface{}, platform interface{}, containerName interface{}) *MockClient_ContainerCreate_Call {
	return &MockClient_ContainerCreate_Call{Call: _e.mock.On("ContainerCreate", ctx, config, hostConfig, networkingConfig, platform, containerName)}
}

func (_c *MockClient_ContainerCreate_Call) Run(run func(ctx context.Context, config *container.Config, hostConfig *container.HostConfig, networkingConfig *network.NetworkingConfig, platform *v1.Platform, containerName string)) *MockClient_ContainerCreate_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(*container.Config), args[2].(*container.HostConfig), args[3].(*network.NetworkingConfig), args[4].(*v1.Platform), args[5].(string))
	})
	return _c
}

func (_c *MockClient_ContainerCreate_Call) Return(_a0 container.CreateResponse, _a1 error) *MockClient_ContainerCreate_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockClient_ContainerCreate_Call) RunAndReturn(run func(context.Context, *container.Config, *container.HostConfig, *network.NetworkingConfig, *v1.Platform, string) (container.CreateResponse, error)) *MockClient_ContainerCreate_Call {
	_c.Call.Return(run)
	return _c
}

// ContainerExecAttach provides a mock function with given fields: ctx, execID, config
func (_m *MockClient) ContainerExecAttach(ctx context.Context, execID string, config container.ExecStartOptions) (types.HijackedResponse, error) {
	ret := _m.Called(ctx, execID, config)

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

	var r0 types.HijackedResponse
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, string, container.ExecStartOptions) (types.HijackedResponse, error)); ok {
		return rf(ctx, execID, config)
	}
	if rf, ok := ret.Get(0).(func(context.Context, string, container.ExecStartOptions) types.HijackedResponse); ok {
		r0 = rf(ctx, execID, config)
	} else {
		r0 = ret.Get(0).(types.HijackedResponse)
	}

	if rf, ok := ret.Get(1).(func(context.Context, string, container.ExecStartOptions) error); ok {
		r1 = rf(ctx, execID, config)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

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

// ContainerExecAttach is a helper method to define mock.On call
//   - ctx context.Context
//   - execID string
//   - config container.ExecStartOptions
func (_e *MockClient_Expecter) ContainerExecAttach(ctx interface{}, execID interface{}, config interface{}) *MockClient_ContainerExecAttach_Call {
	return &MockClient_ContainerExecAttach_Call{Call: _e.mock.On("ContainerExecAttach", ctx, execID, config)}
}

func (_c *MockClient_ContainerExecAttach_Call) Run(run func(ctx context.Context, execID string, config container.ExecStartOptions)) *MockClient_ContainerExecAttach_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(string), args[2].(container.ExecStartOptions))
	})
	return _c
}

func (_c *MockClient_ContainerExecAttach_Call) Return(_a0 types.HijackedResponse, _a1 error) *MockClient_ContainerExecAttach_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockClient_ContainerExecAttach_Call) RunAndReturn(run func(context.Context, string, container.ExecStartOptions) (types.HijackedResponse, error)) *MockClient_ContainerExecAttach_Call {
	_c.Call.Return(run)
	return _c
}

// ContainerExecCreate provides a mock function with given fields: ctx, _a1, config
func (_m *MockClient) ContainerExecCreate(ctx context.Context, _a1 string, config container.ExecOptions) (types.IDResponse, error) {
	ret := _m.Called(ctx, _a1, config)

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

	var r0 types.IDResponse
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, string, container.ExecOptions) (types.IDResponse, error)); ok {
		return rf(ctx, _a1, config)
	}
	if rf, ok := ret.Get(0).(func(context.Context, string, container.ExecOptions) types.IDResponse); ok {
		r0 = rf(ctx, _a1, config)
	} else {
		r0 = ret.Get(0).(types.IDResponse)
	}

	if rf, ok := ret.Get(1).(func(context.Context, string, container.ExecOptions) error); ok {
		r1 = rf(ctx, _a1, config)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

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

// ContainerExecCreate is a helper method to define mock.On call
//   - ctx context.Context
//   - _a1 string
//   - config container.ExecOptions
func (_e *MockClient_Expecter) ContainerExecCreate(ctx interface{}, _a1 interface{}, config interface{}) *MockClient_ContainerExecCreate_Call {
	return &MockClient_ContainerExecCreate_Call{Call: _e.mock.On("ContainerExecCreate", ctx, _a1, config)}
}

func (_c *MockClient_ContainerExecCreate_Call) Run(run func(ctx context.Context, _a1 string, config container.ExecOptions)) *MockClient_ContainerExecCreate_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(string), args[2].(container.ExecOptions))
	})
	return _c
}

func (_c *MockClient_ContainerExecCreate_Call) Return(_a0 types.IDResponse, _a1 error) *MockClient_ContainerExecCreate_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockClient_ContainerExecCreate_Call) RunAndReturn(run func(context.Context, string, container.ExecOptions) (types.IDResponse, error)) *MockClient_ContainerExecCreate_Call {
	_c.Call.Return(run)
	return _c
}

// ContainerInspect provides a mock function with given fields: ctx, containerID
func (_m *MockClient) ContainerInspect(ctx context.Context, containerID string) (types.ContainerJSON, error) {
	ret := _m.Called(ctx, containerID)

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

	var r0 types.ContainerJSON
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, string) (types.ContainerJSON, error)); ok {
		return rf(ctx, containerID)
	}
	if rf, ok := ret.Get(0).(func(context.Context, string) types.ContainerJSON); ok {
		r0 = rf(ctx, containerID)
	} else {
		r0 = ret.Get(0).(types.ContainerJSON)
	}

	if rf, ok := ret.Get(1).(func(context.Context, string) error); ok {
		r1 = rf(ctx, containerID)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

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

// ContainerInspect is a helper method to define mock.On call
//   - ctx context.Context
//   - containerID string
func (_e *MockClient_Expecter) ContainerInspect(ctx interface{}, containerID interface{}) *MockClient_ContainerInspect_Call {
	return &MockClient_ContainerInspect_Call{Call: _e.mock.On("ContainerInspect", ctx, containerID)}
}

func (_c *MockClient_ContainerInspect_Call) Run(run func(ctx context.Context, containerID string)) *MockClient_ContainerInspect_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(string))
	})
	return _c
}

func (_c *MockClient_ContainerInspect_Call) Return(_a0 types.ContainerJSON, _a1 error) *MockClient_ContainerInspect_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockClient_ContainerInspect_Call) RunAndReturn(run func(context.Context, string) (types.ContainerJSON, error)) *MockClient_ContainerInspect_Call {
	_c.Call.Return(run)
	return _c
}

// ContainerKill provides a mock function with given fields: ctx, containerID, signal
func (_m *MockClient) ContainerKill(ctx context.Context, containerID string, signal string) error {
	ret := _m.Called(ctx, containerID, signal)

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

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, string, string) error); ok {
		r0 = rf(ctx, containerID, signal)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

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

// ContainerKill is a helper method to define mock.On call
//   - ctx context.Context
//   - containerID string
//   - signal string
func (_e *MockClient_Expecter) ContainerKill(ctx interface{}, containerID interface{}, signal interface{}) *MockClient_ContainerKill_Call {
	return &MockClient_ContainerKill_Call{Call: _e.mock.On("ContainerKill", ctx, containerID, signal)}
}

func (_c *MockClient_ContainerKill_Call) Run(run func(ctx context.Context, containerID string, signal string)) *MockClient_ContainerKill_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(string), args[2].(string))
	})
	return _c
}

func (_c *MockClient_ContainerKill_Call) Return(_a0 error) *MockClient_ContainerKill_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockClient_ContainerKill_Call) RunAndReturn(run func(context.Context, string, string) error) *MockClient_ContainerKill_Call {
	_c.Call.Return(run)
	return _c
}

// ContainerList provides a mock function with given fields: ctx, options
func (_m *MockClient) ContainerList(ctx context.Context, options container.ListOptions) ([]types.Container, error) {
	ret := _m.Called(ctx, options)

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

	var r0 []types.Container
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, container.ListOptions) ([]types.Container, error)); ok {
		return rf(ctx, options)
	}
	if rf, ok := ret.Get(0).(func(context.Context, container.ListOptions) []types.Container); ok {
		r0 = rf(ctx, options)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]types.Container)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, container.ListOptions) error); ok {
		r1 = rf(ctx, options)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

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

// ContainerList is a helper method to define mock.On call
//   - ctx context.Context
//   - options container.ListOptions
func (_e *MockClient_Expecter) ContainerList(ctx interface{}, options interface{}) *MockClient_ContainerList_Call {
	return &MockClient_ContainerList_Call{Call: _e.mock.On("ContainerList", ctx, options)}
}

func (_c *MockClient_ContainerList_Call) Run(run func(ctx context.Context, options container.ListOptions)) *MockClient_ContainerList_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(container.ListOptions))
	})
	return _c
}

func (_c *MockClient_ContainerList_Call) Return(_a0 []types.Container, _a1 error) *MockClient_ContainerList_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockClient_ContainerList_Call) RunAndReturn(run func(context.Context, container.ListOptions) ([]types.Container, error)) *MockClient_ContainerList_Call {
	_c.Call.Return(run)
	return _c
}

// ContainerLogs provides a mock function with given fields: ctx, _a1, options
func (_m *MockClient) ContainerLogs(ctx context.Context, _a1 string, options container.LogsOptions) (io.ReadCloser, error) {
	ret := _m.Called(ctx, _a1, options)

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

	var r0 io.ReadCloser
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, string, container.LogsOptions) (io.ReadCloser, error)); ok {
		return rf(ctx, _a1, options)
	}
	if rf, ok := ret.Get(0).(func(context.Context, string, container.LogsOptions) io.ReadCloser); ok {
		r0 = rf(ctx, _a1, options)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(io.ReadCloser)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, string, container.LogsOptions) error); ok {
		r1 = rf(ctx, _a1, options)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

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

// ContainerLogs is a helper method to define mock.On call
//   - ctx context.Context
//   - _a1 string
//   - options container.LogsOptions
func (_e *MockClient_Expecter) ContainerLogs(ctx interface{}, _a1 interface{}, options interface{}) *MockClient_ContainerLogs_Call {
	return &MockClient_ContainerLogs_Call{Call: _e.mock.On("ContainerLogs", ctx, _a1, options)}
}

func (_c *MockClient_ContainerLogs_Call) Run(run func(ctx context.Context, _a1 string, options container.LogsOptions)) *MockClient_ContainerLogs_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(string), args[2].(container.LogsOptions))
	})
	return _c
}

func (_c *MockClient_ContainerLogs_Call) Return(_a0 io.ReadCloser, _a1 error) *MockClient_ContainerLogs_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockClient_ContainerLogs_Call) RunAndReturn(run func(context.Context, string, container.LogsOptions) (io.ReadCloser, error)) *MockClient_ContainerLogs_Call {
	_c.Call.Return(run)
	return _c
}

// ContainerRemove provides a mock function with given fields: ctx, containerID, options
func (_m *MockClient) ContainerRemove(ctx context.Context, containerID string, options container.RemoveOptions) error {
	ret := _m.Called(ctx, containerID, options)

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

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, string, container.RemoveOptions) error); ok {
		r0 = rf(ctx, containerID, options)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

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

// ContainerRemove is a helper method to define mock.On call
//   - ctx context.Context
//   - containerID string
//   - options container.RemoveOptions
func (_e *MockClient_Expecter) ContainerRemove(ctx interface{}, containerID interface{}, options interface{}) *MockClient_ContainerRemove_Call {
	return &MockClient_ContainerRemove_Call{Call: _e.mock.On("ContainerRemove", ctx, containerID, options)}
}

func (_c *MockClient_ContainerRemove_Call) Run(run func(ctx context.Context, containerID string, options container.RemoveOptions)) *MockClient_ContainerRemove_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(string), args[2].(container.RemoveOptions))
	})
	return _c
}

func (_c *MockClient_ContainerRemove_Call) Return(_a0 error) *MockClient_ContainerRemove_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockClient_ContainerRemove_Call) RunAndReturn(run func(context.Context, string, container.RemoveOptions) error) *MockClient_ContainerRemove_Call {
	_c.Call.Return(run)
	return _c
}

// ContainerStart provides a mock function with given fields: ctx, containerID, options
func (_m *MockClient) ContainerStart(ctx context.Context, containerID string, options container.StartOptions) error {
	ret := _m.Called(ctx, containerID, options)

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

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, string, container.StartOptions) error); ok {
		r0 = rf(ctx, containerID, options)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

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

// ContainerStart is a helper method to define mock.On call
//   - ctx context.Context
//   - containerID string
//   - options container.StartOptions
func (_e *MockClient_Expecter) ContainerStart(ctx interface{}, containerID interface{}, options interface{}) *MockClient_ContainerStart_Call {
	return &MockClient_ContainerStart_Call{Call: _e.mock.On("ContainerStart", ctx, containerID, options)}
}

func (_c *MockClient_ContainerStart_Call) Run(run func(ctx context.Context, containerID string, options container.StartOptions)) *MockClient_ContainerStart_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(string), args[2].(container.StartOptions))
	})
	return _c
}

func (_c *MockClient_ContainerStart_Call) Return(_a0 error) *MockClient_ContainerStart_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockClient_ContainerStart_Call) RunAndReturn(run func(context.Context, string, container.StartOptions) error) *MockClient_ContainerStart_Call {
	_c.Call.Return(run)
	return _c
}

// ContainerStop provides a mock function with given fields: ctx, containerID, opions
func (_m *MockClient) ContainerStop(ctx context.Context, containerID string, opions container.StopOptions) error {
	ret := _m.Called(ctx, containerID, opions)

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

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, string, container.StopOptions) error); ok {
		r0 = rf(ctx, containerID, opions)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

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

// ContainerStop is a helper method to define mock.On call
//   - ctx context.Context
//   - containerID string
//   - opions container.StopOptions
func (_e *MockClient_Expecter) ContainerStop(ctx interface{}, containerID interface{}, opions interface{}) *MockClient_ContainerStop_Call {
	return &MockClient_ContainerStop_Call{Call: _e.mock.On("ContainerStop", ctx, containerID, opions)}
}

func (_c *MockClient_ContainerStop_Call) Run(run func(ctx context.Context, containerID string, opions container.StopOptions)) *MockClient_ContainerStop_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(string), args[2].(container.StopOptions))
	})
	return _c
}

func (_c *MockClient_ContainerStop_Call) Return(_a0 error) *MockClient_ContainerStop_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockClient_ContainerStop_Call) RunAndReturn(run func(context.Context, string, container.StopOptions) error) *MockClient_ContainerStop_Call {
	_c.Call.Return(run)
	return _c
}

// ContainerWait provides a mock function with given fields: ctx, containerID, condition
func (_m *MockClient) ContainerWait(ctx context.Context, containerID string, condition container.WaitCondition) (<-chan container.WaitResponse, <-chan error) {
	ret := _m.Called(ctx, containerID, condition)

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

	var r0 <-chan container.WaitResponse
	var r1 <-chan error
	if rf, ok := ret.Get(0).(func(context.Context, string, container.WaitCondition) (<-chan container.WaitResponse, <-chan error)); ok {
		return rf(ctx, containerID, condition)
	}
	if rf, ok := ret.Get(0).(func(context.Context, string, container.WaitCondition) <-chan container.WaitResponse); ok {
		r0 = rf(ctx, containerID, condition)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(<-chan container.WaitResponse)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, string, container.WaitCondition) <-chan error); ok {
		r1 = rf(ctx, containerID, condition)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(<-chan error)
		}
	}

	return r0, r1
}

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

// ContainerWait is a helper method to define mock.On call
//   - ctx context.Context
//   - containerID string
//   - condition container.WaitCondition
func (_e *MockClient_Expecter) ContainerWait(ctx interface{}, containerID interface{}, condition interface{}) *MockClient_ContainerWait_Call {
	return &MockClient_ContainerWait_Call{Call: _e.mock.On("ContainerWait", ctx, containerID, condition)}
}

func (_c *MockClient_ContainerWait_Call) Run(run func(ctx context.Context, containerID string, condition container.WaitCondition)) *MockClient_ContainerWait_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(string), args[2].(container.WaitCondition))
	})
	return _c
}

func (_c *MockClient_ContainerWait_Call) Return(_a0 <-chan container.WaitResponse, _a1 <-chan error) *MockClient_ContainerWait_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockClient_ContainerWait_Call) RunAndReturn(run func(context.Context, string, container.WaitCondition) (<-chan container.WaitResponse, <-chan error)) *MockClient_ContainerWait_Call {
	_c.Call.Return(run)
	return _c
}

// ImageImportBlocking provides a mock function with given fields: ctx, source, ref, options
func (_m *MockClient) ImageImportBlocking(ctx context.Context, source image.ImportSource, ref string, options image.ImportOptions) error {
	ret := _m.Called(ctx, source, ref, options)

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

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, image.ImportSource, string, image.ImportOptions) error); ok {
		r0 = rf(ctx, source, ref, options)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

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

// ImageImportBlocking is a helper method to define mock.On call
//   - ctx context.Context
//   - source image.ImportSource
//   - ref string
//   - options image.ImportOptions
func (_e *MockClient_Expecter) ImageImportBlocking(ctx interface{}, source interface{}, ref interface{}, options interface{}) *MockClient_ImageImportBlocking_Call {
	return &MockClient_ImageImportBlocking_Call{Call: _e.mock.On("ImageImportBlocking", ctx, source, ref, options)}
}

func (_c *MockClient_ImageImportBlocking_Call) Run(run func(ctx context.Context, source image.ImportSource, ref string, options image.ImportOptions)) *MockClient_ImageImportBlocking_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(image.ImportSource), args[2].(string), args[3].(image.ImportOptions))
	})
	return _c
}

func (_c *MockClient_ImageImportBlocking_Call) Return(_a0 error) *MockClient_ImageImportBlocking_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockClient_ImageImportBlocking_Call) RunAndReturn(run func(context.Context, image.ImportSource, string, image.ImportOptions) error) *MockClient_ImageImportBlocking_Call {
	_c.Call.Return(run)
	return _c
}

// ImageInspectWithRaw provides a mock function with given fields: ctx, imageID
func (_m *MockClient) ImageInspectWithRaw(ctx context.Context, imageID string) (types.ImageInspect, []byte, error) {
	ret := _m.Called(ctx, imageID)

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

	var r0 types.ImageInspect
	var r1 []byte
	var r2 error
	if rf, ok := ret.Get(0).(func(context.Context, string) (types.ImageInspect, []byte, error)); ok {
		return rf(ctx, imageID)
	}
	if rf, ok := ret.Get(0).(func(context.Context, string) types.ImageInspect); ok {
		r0 = rf(ctx, imageID)
	} else {
		r0 = ret.Get(0).(types.ImageInspect)
	}

	if rf, ok := ret.Get(1).(func(context.Context, string) []byte); ok {
		r1 = rf(ctx, imageID)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).([]byte)
		}
	}

	if rf, ok := ret.Get(2).(func(context.Context, string) error); ok {
		r2 = rf(ctx, imageID)
	} else {
		r2 = ret.Error(2)
	}

	return r0, r1, r2
}

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

// ImageInspectWithRaw is a helper method to define mock.On call
//   - ctx context.Context
//   - imageID string
func (_e *MockClient_Expecter) ImageInspectWithRaw(ctx interface{}, imageID interface{}) *MockClient_ImageInspectWithRaw_Call {
	return &MockClient_ImageInspectWithRaw_Call{Call: _e.mock.On("ImageInspectWithRaw", ctx, imageID)}
}

func (_c *MockClient_ImageInspectWithRaw_Call) Run(run func(ctx context.Context, imageID string)) *MockClient_ImageInspectWithRaw_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(string))
	})
	return _c
}

func (_c *MockClient_ImageInspectWithRaw_Call) Return(_a0 types.ImageInspect, _a1 []byte, _a2 error) *MockClient_ImageInspectWithRaw_Call {
	_c.Call.Return(_a0, _a1, _a2)
	return _c
}

func (_c *MockClient_ImageInspectWithRaw_Call) RunAndReturn(run func(context.Context, string) (types.ImageInspect, []byte, error)) *MockClient_ImageInspectWithRaw_Call {
	_c.Call.Return(run)
	return _c
}

// ImageLoad provides a mock function with given fields: ctx, input, quiet
func (_m *MockClient) ImageLoad(ctx context.Context, input io.Reader, quiet bool) (image.LoadResponse, error) {
	ret := _m.Called(ctx, input, quiet)

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

	var r0 image.LoadResponse
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, io.Reader, bool) (image.LoadResponse, error)); ok {
		return rf(ctx, input, quiet)
	}
	if rf, ok := ret.Get(0).(func(context.Context, io.Reader, bool) image.LoadResponse); ok {
		r0 = rf(ctx, input, quiet)
	} else {
		r0 = ret.Get(0).(image.LoadResponse)
	}

	if rf, ok := ret.Get(1).(func(context.Context, io.Reader, bool) error); ok {
		r1 = rf(ctx, input, quiet)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

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

// ImageLoad is a helper method to define mock.On call
//   - ctx context.Context
//   - input io.Reader
//   - quiet bool
func (_e *MockClient_Expecter) ImageLoad(ctx interface{}, input interface{}, quiet interface{}) *MockClient_ImageLoad_Call {
	return &MockClient_ImageLoad_Call{Call: _e.mock.On("ImageLoad", ctx, input, quiet)}
}

func (_c *MockClient_ImageLoad_Call) Run(run func(ctx context.Context, input io.Reader, quiet bool)) *MockClient_ImageLoad_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(io.Reader), args[2].(bool))
	})
	return _c
}

func (_c *MockClient_ImageLoad_Call) Return(_a0 image.LoadResponse, _a1 error) *MockClient_ImageLoad_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockClient_ImageLoad_Call) RunAndReturn(run func(context.Context, io.Reader, bool) (image.LoadResponse, error)) *MockClient_ImageLoad_Call {
	_c.Call.Return(run)
	return _c
}

// ImagePullBlocking provides a mock function with given fields: ctx, ref, options
func (_m *MockClient) ImagePullBlocking(ctx context.Context, ref string, options image.PullOptions) error {
	ret := _m.Called(ctx, ref, options)

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

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, string, image.PullOptions) error); ok {
		r0 = rf(ctx, ref, options)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

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

// ImagePullBlocking is a helper method to define mock.On call
//   - ctx context.Context
//   - ref string
//   - options image.PullOptions
func (_e *MockClient_Expecter) ImagePullBlocking(ctx interface{}, ref interface{}, options interface{}) *MockClient_ImagePullBlocking_Call {
	return &MockClient_ImagePullBlocking_Call{Call: _e.mock.On("ImagePullBlocking", ctx, ref, options)}
}

func (_c *MockClient_ImagePullBlocking_Call) Run(run func(ctx context.Context, ref string, options image.PullOptions)) *MockClient_ImagePullBlocking_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(string), args[2].(image.PullOptions))
	})
	return _c
}

func (_c *MockClient_ImagePullBlocking_Call) Return(_a0 error) *MockClient_ImagePullBlocking_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockClient_ImagePullBlocking_Call) RunAndReturn(run func(context.Context, string, image.PullOptions) error) *MockClient_ImagePullBlocking_Call {
	_c.Call.Return(run)
	return _c
}

// ImageTag provides a mock function with given fields: ctx, source, target
func (_m *MockClient) ImageTag(ctx context.Context, source string, target string) error {
	ret := _m.Called(ctx, source, target)

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

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, string, string) error); ok {
		r0 = rf(ctx, source, target)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

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

// ImageTag is a helper method to define mock.On call
//   - ctx context.Context
//   - source string
//   - target string
func (_e *MockClient_Expecter) ImageTag(ctx interface{}, source interface{}, target interface{}) *MockClient_ImageTag_Call {
	return &MockClient_ImageTag_Call{Call: _e.mock.On("ImageTag", ctx, source, target)}
}

func (_c *MockClient_ImageTag_Call) Run(run func(ctx context.Context, source string, target string)) *MockClient_ImageTag_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(string), args[2].(string))
	})
	return _c
}

func (_c *MockClient_ImageTag_Call) Return(_a0 error) *MockClient_ImageTag_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockClient_ImageTag_Call) RunAndReturn(run func(context.Context, string, string) error) *MockClient_ImageTag_Call {
	_c.Call.Return(run)
	return _c
}

// Info provides a mock function with given fields: ctx
func (_m *MockClient) Info(ctx context.Context) (system.Info, error) {
	ret := _m.Called(ctx)

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

	var r0 system.Info
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context) (system.Info, error)); ok {
		return rf(ctx)
	}
	if rf, ok := ret.Get(0).(func(context.Context) system.Info); ok {
		r0 = rf(ctx)
	} else {
		r0 = ret.Get(0).(system.Info)
	}

	if rf, ok := ret.Get(1).(func(context.Context) error); ok {
		r1 = rf(ctx)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

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

// Info is a helper method to define mock.On call
//   - ctx context.Context
func (_e *MockClient_Expecter) Info(ctx interface{}) *MockClient_Info_Call {
	return &MockClient_Info_Call{Call: _e.mock.On("Info", ctx)}
}

func (_c *MockClient_Info_Call) Run(run func(ctx context.Context)) *MockClient_Info_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context))
	})
	return _c
}

func (_c *MockClient_Info_Call) Return(_a0 system.Info, _a1 error) *MockClient_Info_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockClient_Info_Call) RunAndReturn(run func(context.Context) (system.Info, error)) *MockClient_Info_Call {
	_c.Call.Return(run)
	return _c
}

// NetworkCreate provides a mock function with given fields: ctx, networkName, options
func (_m *MockClient) NetworkCreate(ctx context.Context, networkName string, options network.CreateOptions) (network.CreateResponse, error) {
	ret := _m.Called(ctx, networkName, options)

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

	var r0 network.CreateResponse
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, string, network.CreateOptions) (network.CreateResponse, error)); ok {
		return rf(ctx, networkName, options)
	}
	if rf, ok := ret.Get(0).(func(context.Context, string, network.CreateOptions) network.CreateResponse); ok {
		r0 = rf(ctx, networkName, options)
	} else {
		r0 = ret.Get(0).(network.CreateResponse)
	}

	if rf, ok := ret.Get(1).(func(context.Context, string, network.CreateOptions) error); ok {
		r1 = rf(ctx, networkName, options)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

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

// NetworkCreate is a helper method to define mock.On call
//   - ctx context.Context
//   - networkName string
//   - options network.CreateOptions
func (_e *MockClient_Expecter) NetworkCreate(ctx interface{}, networkName interface{}, options interface{}) *MockClient_NetworkCreate_Call {
	return &MockClient_NetworkCreate_Call{Call: _e.mock.On("NetworkCreate", ctx, networkName, options)}
}

func (_c *MockClient_NetworkCreate_Call) Run(run func(ctx context.Context, networkName string, options network.CreateOptions)) *MockClient_NetworkCreate_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(string), args[2].(network.CreateOptions))
	})
	return _c
}

func (_c *MockClient_NetworkCreate_Call) Return(_a0 network.CreateResponse, _a1 error) *MockClient_NetworkCreate_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockClient_NetworkCreate_Call) RunAndReturn(run func(context.Context, string, network.CreateOptions) (network.CreateResponse, error)) *MockClient_NetworkCreate_Call {
	_c.Call.Return(run)
	return _c
}

// NetworkDisconnect provides a mock function with given fields: ctx, networkID, containerID, force
func (_m *MockClient) NetworkDisconnect(ctx context.Context, networkID string, containerID string, force bool) error {
	ret := _m.Called(ctx, networkID, containerID, force)

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

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, string, string, bool) error); ok {
		r0 = rf(ctx, networkID, containerID, force)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

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

// NetworkDisconnect is a helper method to define mock.On call
//   - ctx context.Context
//   - networkID string
//   - containerID string
//   - force bool
func (_e *MockClient_Expecter) NetworkDisconnect(ctx interface{}, networkID interface{}, containerID interface{}, force interface{}) *MockClient_NetworkDisconnect_Call {
	return &MockClient_NetworkDisconnect_Call{Call: _e.mock.On("NetworkDisconnect", ctx, networkID, containerID, force)}
}

func (_c *MockClient_NetworkDisconnect_Call) Run(run func(ctx context.Context, networkID string, containerID string, force bool)) *MockClient_NetworkDisconnect_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(string), args[2].(string), args[3].(bool))
	})
	return _c
}

func (_c *MockClient_NetworkDisconnect_Call) Return(_a0 error) *MockClient_NetworkDisconnect_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockClient_NetworkDisconnect_Call) RunAndReturn(run func(context.Context, string, string, bool) error) *MockClient_NetworkDisconnect_Call {
	_c.Call.Return(run)
	return _c
}

// NetworkInspect provides a mock function with given fields: ctx, networkID
func (_m *MockClient) NetworkInspect(ctx context.Context, networkID string) (network.Inspect, error) {
	ret := _m.Called(ctx, networkID)

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

	var r0 network.Inspect
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, string) (network.Inspect, error)); ok {
		return rf(ctx, networkID)
	}
	if rf, ok := ret.Get(0).(func(context.Context, string) network.Inspect); ok {
		r0 = rf(ctx, networkID)
	} else {
		r0 = ret.Get(0).(network.Inspect)
	}

	if rf, ok := ret.Get(1).(func(context.Context, string) error); ok {
		r1 = rf(ctx, networkID)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

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

// NetworkInspect is a helper method to define mock.On call
//   - ctx context.Context
//   - networkID string
func (_e *MockClient_Expecter) NetworkInspect(ctx interface{}, networkID interface{}) *MockClient_NetworkInspect_Call {
	return &MockClient_NetworkInspect_Call{Call: _e.mock.On("NetworkInspect", ctx, networkID)}
}

func (_c *MockClient_NetworkInspect_Call) Run(run func(ctx context.Context, networkID string)) *MockClient_NetworkInspect_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(string))
	})
	return _c
}

func (_c *MockClient_NetworkInspect_Call) Return(_a0 network.Inspect, _a1 error) *MockClient_NetworkInspect_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockClient_NetworkInspect_Call) RunAndReturn(run func(context.Context, string) (network.Inspect, error)) *MockClient_NetworkInspect_Call {
	_c.Call.Return(run)
	return _c
}

// NetworkList provides a mock function with given fields: ctx, options
func (_m *MockClient) NetworkList(ctx context.Context, options network.ListOptions) ([]network.Inspect, error) {
	ret := _m.Called(ctx, options)

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

	var r0 []network.Inspect
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, network.ListOptions) ([]network.Inspect, error)); ok {
		return rf(ctx, options)
	}
	if rf, ok := ret.Get(0).(func(context.Context, network.ListOptions) []network.Inspect); ok {
		r0 = rf(ctx, options)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]network.Inspect)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, network.ListOptions) error); ok {
		r1 = rf(ctx, options)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

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

// NetworkList is a helper method to define mock.On call
//   - ctx context.Context
//   - options network.ListOptions
func (_e *MockClient_Expecter) NetworkList(ctx interface{}, options interface{}) *MockClient_NetworkList_Call {
	return &MockClient_NetworkList_Call{Call: _e.mock.On("NetworkList", ctx, options)}
}

func (_c *MockClient_NetworkList_Call) Run(run func(ctx context.Context, options network.ListOptions)) *MockClient_NetworkList_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(network.ListOptions))
	})
	return _c
}

func (_c *MockClient_NetworkList_Call) Return(_a0 []network.Inspect, _a1 error) *MockClient_NetworkList_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockClient_NetworkList_Call) RunAndReturn(run func(context.Context, network.ListOptions) ([]network.Inspect, error)) *MockClient_NetworkList_Call {
	_c.Call.Return(run)
	return _c
}

// NetworkRemove provides a mock function with given fields: ctx, networkID
func (_m *MockClient) NetworkRemove(ctx context.Context, networkID string) error {
	ret := _m.Called(ctx, networkID)

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

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, string) error); ok {
		r0 = rf(ctx, networkID)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

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

// NetworkRemove is a helper method to define mock.On call
//   - ctx context.Context
//   - networkID string
func (_e *MockClient_Expecter) NetworkRemove(ctx interface{}, networkID interface{}) *MockClient_NetworkRemove_Call {
	return &MockClient_NetworkRemove_Call{Call: _e.mock.On("NetworkRemove", ctx, networkID)}
}

func (_c *MockClient_NetworkRemove_Call) Run(run func(ctx context.Context, networkID string)) *MockClient_NetworkRemove_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(string))
	})
	return _c
}

func (_c *MockClient_NetworkRemove_Call) Return(_a0 error) *MockClient_NetworkRemove_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockClient_NetworkRemove_Call) RunAndReturn(run func(context.Context, string) error) *MockClient_NetworkRemove_Call {
	_c.Call.Return(run)
	return _c
}

// ServerVersion provides a mock function with given fields: _a0
func (_m *MockClient) ServerVersion(_a0 context.Context) (types.Version, error) {
	ret := _m.Called(_a0)

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

	var r0 types.Version
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context) (types.Version, error)); ok {
		return rf(_a0)
	}
	if rf, ok := ret.Get(0).(func(context.Context) types.Version); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Get(0).(types.Version)
	}

	if rf, ok := ret.Get(1).(func(context.Context) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

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

// ServerVersion is a helper method to define mock.On call
//   - _a0 context.Context
func (_e *MockClient_Expecter) ServerVersion(_a0 interface{}) *MockClient_ServerVersion_Call {
	return &MockClient_ServerVersion_Call{Call: _e.mock.On("ServerVersion", _a0)}
}

func (_c *MockClient_ServerVersion_Call) Run(run func(_a0 context.Context)) *MockClient_ServerVersion_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context))
	})
	return _c
}

func (_c *MockClient_ServerVersion_Call) Return(_a0 types.Version, _a1 error) *MockClient_ServerVersion_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockClient_ServerVersion_Call) RunAndReturn(run func(context.Context) (types.Version, error)) *MockClient_ServerVersion_Call {
	_c.Call.Return(run)
	return _c
}

// VolumeCreate provides a mock function with given fields: ctx, options
func (_m *MockClient) VolumeCreate(ctx context.Context, options volume.CreateOptions) (volume.Volume, error) {
	ret := _m.Called(ctx, options)

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

	var r0 volume.Volume
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, volume.CreateOptions) (volume.Volume, error)); ok {
		return rf(ctx, options)
	}
	if rf, ok := ret.Get(0).(func(context.Context, volume.CreateOptions) volume.Volume); ok {
		r0 = rf(ctx, options)
	} else {
		r0 = ret.Get(0).(volume.Volume)
	}

	if rf, ok := ret.Get(1).(func(context.Context, volume.CreateOptions) error); ok {
		r1 = rf(ctx, options)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

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

// VolumeCreate is a helper method to define mock.On call
//   - ctx context.Context
//   - options volume.CreateOptions
func (_e *MockClient_Expecter) VolumeCreate(ctx interface{}, options interface{}) *MockClient_VolumeCreate_Call {
	return &MockClient_VolumeCreate_Call{Call: _e.mock.On("VolumeCreate", ctx, options)}
}

func (_c *MockClient_VolumeCreate_Call) Run(run func(ctx context.Context, options volume.CreateOptions)) *MockClient_VolumeCreate_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(volume.CreateOptions))
	})
	return _c
}

func (_c *MockClient_VolumeCreate_Call) Return(_a0 volume.Volume, _a1 error) *MockClient_VolumeCreate_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockClient_VolumeCreate_Call) RunAndReturn(run func(context.Context, volume.CreateOptions) (volume.Volume, error)) *MockClient_VolumeCreate_Call {
	_c.Call.Return(run)
	return _c
}

// VolumeInspect provides a mock function with given fields: ctx, volumeID
func (_m *MockClient) VolumeInspect(ctx context.Context, volumeID string) (volume.Volume, error) {
	ret := _m.Called(ctx, volumeID)

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

	var r0 volume.Volume
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, string) (volume.Volume, error)); ok {
		return rf(ctx, volumeID)
	}
	if rf, ok := ret.Get(0).(func(context.Context, string) volume.Volume); ok {
		r0 = rf(ctx, volumeID)
	} else {
		r0 = ret.Get(0).(volume.Volume)
	}

	if rf, ok := ret.Get(1).(func(context.Context, string) error); ok {
		r1 = rf(ctx, volumeID)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

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

// VolumeInspect is a helper method to define mock.On call
//   - ctx context.Context
//   - volumeID string
func (_e *MockClient_Expecter) VolumeInspect(ctx interface{}, volumeID interface{}) *MockClient_VolumeInspect_Call {
	return &MockClient_VolumeInspect_Call{Call: _e.mock.On("VolumeInspect", ctx, volumeID)}
}

func (_c *MockClient_VolumeInspect_Call) Run(run func(ctx context.Context, volumeID string)) *MockClient_VolumeInspect_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(string))
	})
	return _c
}

func (_c *MockClient_VolumeInspect_Call) Return(_a0 volume.Volume, _a1 error) *MockClient_VolumeInspect_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockClient_VolumeInspect_Call) RunAndReturn(run func(context.Context, string) (volume.Volume, error)) *MockClient_VolumeInspect_Call {
	_c.Call.Return(run)
	return _c
}

// VolumeRemove provides a mock function with given fields: ctx, volumeID, force
func (_m *MockClient) VolumeRemove(ctx context.Context, volumeID string, force bool) error {
	ret := _m.Called(ctx, volumeID, force)

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

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, string, bool) error); ok {
		r0 = rf(ctx, volumeID, force)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

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

// VolumeRemove is a helper method to define mock.On call
//   - ctx context.Context
//   - volumeID string
//   - force bool
func (_e *MockClient_Expecter) VolumeRemove(ctx interface{}, volumeID interface{}, force interface{}) *MockClient_VolumeRemove_Call {
	return &MockClient_VolumeRemove_Call{Call: _e.mock.On("VolumeRemove", ctx, volumeID, force)}
}

func (_c *MockClient_VolumeRemove_Call) Run(run func(ctx context.Context, volumeID string, force bool)) *MockClient_VolumeRemove_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(string), args[2].(bool))
	})
	return _c
}

func (_c *MockClient_VolumeRemove_Call) Return(_a0 error) *MockClient_VolumeRemove_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockClient_VolumeRemove_Call) RunAndReturn(run func(context.Context, string, bool) error) *MockClient_VolumeRemove_Call {
	_c.Call.Return(run)
	return _c
}

// NewMockClient creates a new instance of MockClient. 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 NewMockClient(t interface {
	mock.TestingT
	Cleanup(func())
}) *MockClient {
	mock := &MockClient{}
	mock.Mock.Test(t)

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

	return mock
}
