// Code generated by MockGen. DO NOT EDIT.
// Source: registry.go
//
// Generated by this command:
//
//	mockgen -destination=mocks/mock_registry.go -package=mocks -source=registry.go BackendRegistry DynamicRegistry
//

// Package mocks is a generated GoMock package.
package mocks

import (
	context "context"
	reflect "reflect"

	vmcp "github.com/stacklok/toolhive/pkg/vmcp"
	gomock "go.uber.org/mock/gomock"
)

// MockBackendRegistry is a mock of BackendRegistry interface.
type MockBackendRegistry struct {
	ctrl     *gomock.Controller
	recorder *MockBackendRegistryMockRecorder
	isgomock struct{}
}

// MockBackendRegistryMockRecorder is the mock recorder for MockBackendRegistry.
type MockBackendRegistryMockRecorder struct {
	mock *MockBackendRegistry
}

// NewMockBackendRegistry creates a new mock instance.
func NewMockBackendRegistry(ctrl *gomock.Controller) *MockBackendRegistry {
	mock := &MockBackendRegistry{ctrl: ctrl}
	mock.recorder = &MockBackendRegistryMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockBackendRegistry) EXPECT() *MockBackendRegistryMockRecorder {
	return m.recorder
}

// Count mocks base method.
func (m *MockBackendRegistry) Count() int {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Count")
	ret0, _ := ret[0].(int)
	return ret0
}

// Count indicates an expected call of Count.
func (mr *MockBackendRegistryMockRecorder) Count() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Count", reflect.TypeOf((*MockBackendRegistry)(nil).Count))
}

// Get mocks base method.
func (m *MockBackendRegistry) Get(ctx context.Context, backendID string) *vmcp.Backend {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", ctx, backendID)
	ret0, _ := ret[0].(*vmcp.Backend)
	return ret0
}

// Get indicates an expected call of Get.
func (mr *MockBackendRegistryMockRecorder) Get(ctx, backendID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockBackendRegistry)(nil).Get), ctx, backendID)
}

// List mocks base method.
func (m *MockBackendRegistry) List(ctx context.Context) []vmcp.Backend {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "List", ctx)
	ret0, _ := ret[0].([]vmcp.Backend)
	return ret0
}

// List indicates an expected call of List.
func (mr *MockBackendRegistryMockRecorder) List(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockBackendRegistry)(nil).List), ctx)
}

// MockDynamicRegistry is a mock of DynamicRegistry interface.
type MockDynamicRegistry struct {
	ctrl     *gomock.Controller
	recorder *MockDynamicRegistryMockRecorder
	isgomock struct{}
}

// MockDynamicRegistryMockRecorder is the mock recorder for MockDynamicRegistry.
type MockDynamicRegistryMockRecorder struct {
	mock *MockDynamicRegistry
}

// NewMockDynamicRegistry creates a new mock instance.
func NewMockDynamicRegistry(ctrl *gomock.Controller) *MockDynamicRegistry {
	mock := &MockDynamicRegistry{ctrl: ctrl}
	mock.recorder = &MockDynamicRegistryMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockDynamicRegistry) EXPECT() *MockDynamicRegistryMockRecorder {
	return m.recorder
}

// Count mocks base method.
func (m *MockDynamicRegistry) Count() int {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Count")
	ret0, _ := ret[0].(int)
	return ret0
}

// Count indicates an expected call of Count.
func (mr *MockDynamicRegistryMockRecorder) Count() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Count", reflect.TypeOf((*MockDynamicRegistry)(nil).Count))
}

// Get mocks base method.
func (m *MockDynamicRegistry) Get(ctx context.Context, backendID string) *vmcp.Backend {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", ctx, backendID)
	ret0, _ := ret[0].(*vmcp.Backend)
	return ret0
}

// Get indicates an expected call of Get.
func (mr *MockDynamicRegistryMockRecorder) Get(ctx, backendID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockDynamicRegistry)(nil).Get), ctx, backendID)
}

// List mocks base method.
func (m *MockDynamicRegistry) List(ctx context.Context) []vmcp.Backend {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "List", ctx)
	ret0, _ := ret[0].([]vmcp.Backend)
	return ret0
}

// List indicates an expected call of List.
func (mr *MockDynamicRegistryMockRecorder) List(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockDynamicRegistry)(nil).List), ctx)
}

// Remove mocks base method.
func (m *MockDynamicRegistry) Remove(backendID string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Remove", backendID)
	ret0, _ := ret[0].(error)
	return ret0
}

// Remove indicates an expected call of Remove.
func (mr *MockDynamicRegistryMockRecorder) Remove(backendID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Remove", reflect.TypeOf((*MockDynamicRegistry)(nil).Remove), backendID)
}

// Upsert mocks base method.
func (m *MockDynamicRegistry) Upsert(backend vmcp.Backend) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Upsert", backend)
	ret0, _ := ret[0].(error)
	return ret0
}

// Upsert indicates an expected call of Upsert.
func (mr *MockDynamicRegistryMockRecorder) Upsert(backend any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Upsert", reflect.TypeOf((*MockDynamicRegistry)(nil).Upsert), backend)
}

// Version mocks base method.
func (m *MockDynamicRegistry) Version() uint64 {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Version")
	ret0, _ := ret[0].(uint64)
	return ret0
}

// Version indicates an expected call of Version.
func (mr *MockDynamicRegistryMockRecorder) Version() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Version", reflect.TypeOf((*MockDynamicRegistry)(nil).Version))
}
