// Code generated by MockGen. DO NOT EDIT.
// Source: types.go
//
// Generated by this command:
//
//	mockgen -destination=mocks/mock_manager.go -package=mocks -source=types.go Manager
//

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

import (
	context "context"
	reflect "reflect"

	v1beta1 "github.com/stacklok/toolhive/cmd/thv-operator/api/v1beta1"
	registryapi "github.com/stacklok/toolhive/cmd/thv-operator/pkg/registryapi"
	gomock "go.uber.org/mock/gomock"
	v1 "k8s.io/api/apps/v1"
)

// MockManager is a mock of Manager interface.
type MockManager struct {
	ctrl     *gomock.Controller
	recorder *MockManagerMockRecorder
	isgomock struct{}
}

// MockManagerMockRecorder is the mock recorder for MockManager.
type MockManagerMockRecorder struct {
	mock *MockManager
}

// NewMockManager creates a new mock instance.
func NewMockManager(ctrl *gomock.Controller) *MockManager {
	mock := &MockManager{ctrl: ctrl}
	mock.recorder = &MockManagerMockRecorder{mock}
	return mock
}

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

// CheckAPIReadiness mocks base method.
func (m *MockManager) CheckAPIReadiness(ctx context.Context, deployment *v1.Deployment) bool {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckAPIReadiness", ctx, deployment)
	ret0, _ := ret[0].(bool)
	return ret0
}

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

// GetAPIStatus mocks base method.
func (m *MockManager) GetAPIStatus(ctx context.Context, mcpRegistry *v1beta1.MCPRegistry) (bool, int32) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetAPIStatus", ctx, mcpRegistry)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(int32)
	return ret0, ret1
}

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

// GetReadyReplicas mocks base method.
func (m *MockManager) GetReadyReplicas(ctx context.Context, mcpRegistry *v1beta1.MCPRegistry) int32 {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetReadyReplicas", ctx, mcpRegistry)
	ret0, _ := ret[0].(int32)
	return ret0
}

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

// IsAPIReady mocks base method.
func (m *MockManager) IsAPIReady(ctx context.Context, mcpRegistry *v1beta1.MCPRegistry) bool {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "IsAPIReady", ctx, mcpRegistry)
	ret0, _ := ret[0].(bool)
	return ret0
}

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

// ReconcileAPIService mocks base method.
func (m *MockManager) ReconcileAPIService(ctx context.Context, mcpRegistry *v1beta1.MCPRegistry) *registryapi.Error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ReconcileAPIService", ctx, mcpRegistry)
	ret0, _ := ret[0].(*registryapi.Error)
	return ret0
}

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