func (mr *MockMulticlusterClusterResourceReconcileLoopMockRecorder) AddMulticlusterClusterResourceReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{ctx, rec}, predicates...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterClusterResourceReconciler", reflect.TypeOf((*MockMulticlusterClusterResourceReconcileLoop)(nil).AddMulticlusterClusterResourceReconciler), varargs...)
}
AddMulticlusterClusterResourceReconciler indicates an expected call of AddMulticlusterClusterResourceReconciler
package mock_controller
import (
	context "context"
	reflect "reflect"
	gomock "github.com/golang/mock/gomock"
	v1 "github.com/solo-io/skv2/codegen/test/api/things.test.io/v1"
	controller "github.com/solo-io/skv2/codegen/test/api/things.test.io/v1/controller"
	reconcile "github.com/solo-io/skv2/pkg/reconcile"
	predicate "sigs.k8s.io/controller-runtime/pkg/predicate"
)
type MockMulticlusterPaintReconciler struct {
	ctrl     *gomock.Controller
	recorder *MockMulticlusterPaintReconcilerMockRecorder
}
type MockMulticlusterPaintReconcilerMockRecorder struct {
	mock *MockMulticlusterPaintReconciler
}
func NewMockMulticlusterPaintReconciler(ctrl *gomock.Controller) *MockMulticlusterPaintReconciler {
	mock := &MockMulticlusterPaintReconciler{ctrl: ctrl}
	mock.recorder = &MockMulticlusterPaintReconcilerMockRecorder{mock}
	return mock
}
func (m *MockMulticlusterPaintReconciler) EXPECT() *MockMulticlusterPaintReconcilerMockRecorder {
	return m.recorder
}
func (m *MockMulticlusterPaintReconciler) ReconcilePaint(clusterName string, obj *v1.Paint) (reconcile.Result, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ReconcilePaint", clusterName, obj)
	ret0, _ := ret[0].(reconcile.Result)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}
func (mr *MockMulticlusterPaintReconcilerMockRecorder) ReconcilePaint(clusterName, obj interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePaint", reflect.TypeOf((*MockMulticlusterPaintReconciler)(nil).ReconcilePaint), clusterName, obj)
}
type MockMulticlusterPaintDeletionReconciler struct {
	ctrl     *gomock.Controller
	recorder *MockMulticlusterPaintDeletionReconcilerMockRecorder
}
type MockMulticlusterPaintDeletionReconcilerMockRecorder struct {
	mock *MockMulticlusterPaintDeletionReconciler
}
func NewMockMulticlusterPaintDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterPaintDeletionReconciler {
	mock := &MockMulticlusterPaintDeletionReconciler{ctrl: ctrl}
	mock.recorder = &MockMulticlusterPaintDeletionReconcilerMockRecorder{mock}
	return mock
}
func (m *MockMulticlusterPaintDeletionReconciler) EXPECT() *MockMulticlusterPaintDeletionReconcilerMockRecorder {
	return m.recorder
}
func (m *MockMulticlusterPaintDeletionReconciler) ReconcilePaintDeletion(clusterName string, req reconcile.Request) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ReconcilePaintDeletion", clusterName, req)
	ret0, _ := ret[0].(error)
	return ret0
}
func (mr *MockMulticlusterPaintDeletionReconcilerMockRecorder) ReconcilePaintDeletion(clusterName, req interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePaintDeletion", reflect.TypeOf((*MockMulticlusterPaintDeletionReconciler)(nil).ReconcilePaintDeletion), clusterName, req)
}
type MockMulticlusterPaintReconcileLoop struct {
	ctrl     *gomock.Controller
	recorder *MockMulticlusterPaintReconcileLoopMockRecorder
}
type MockMulticlusterPaintReconcileLoopMockRecorder struct {
	mock *MockMulticlusterPaintReconcileLoop
}
func NewMockMulticlusterPaintReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterPaintReconcileLoop {
	mock := &MockMulticlusterPaintReconcileLoop{ctrl: ctrl}
	mock.recorder = &MockMulticlusterPaintReconcileLoopMockRecorder{mock}
	return mock
}
func (m *MockMulticlusterPaintReconcileLoop) EXPECT() *MockMulticlusterPaintReconcileLoopMockRecorder {
	return m.recorder
}
func (m *MockMulticlusterPaintReconcileLoop) AddMulticlusterPaintReconciler(ctx context.Context, rec controller.MulticlusterPaintReconciler, predicates ...predicate.Predicate) {
	m.ctrl.T.Helper()
	varargs := []interface{}{ctx, rec}
	for _, a := range predicates {
		varargs = append(varargs, a)
	}
	m.ctrl.Call(m, "AddMulticlusterPaintReconciler", varargs...)
}
func (mr *MockMulticlusterPaintReconcileLoopMockRecorder) AddMulticlusterPaintReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{ctx, rec}, predicates...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterPaintReconciler", reflect.TypeOf((*MockMulticlusterPaintReconcileLoop)(nil).AddMulticlusterPaintReconciler), varargs...)
}
type MockMulticlusterClusterResourceReconciler struct {
	ctrl     *gomock.Controller
	recorder *MockMulticlusterClusterResourceReconcilerMockRecorder
}
type MockMulticlusterClusterResourceReconcilerMockRecorder struct {
	mock *MockMulticlusterClusterResourceReconciler
}
func NewMockMulticlusterClusterResourceReconciler(ctrl *gomock.Controller) *MockMulticlusterClusterResourceReconciler {
	mock := &MockMulticlusterClusterResourceReconciler{ctrl: ctrl}
	mock.recorder = &MockMulticlusterClusterResourceReconcilerMockRecorder{mock}
	return mock
}
func (m *MockMulticlusterClusterResourceReconciler) EXPECT() *MockMulticlusterClusterResourceReconcilerMockRecorder {
	return m.recorder
}
func (m *MockMulticlusterClusterResourceReconciler) ReconcileClusterResource(clusterName string, obj *v1.ClusterResource) (reconcile.Result, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ReconcileClusterResource", clusterName, obj)
	ret0, _ := ret[0].(reconcile.Result)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}
func (mr *MockMulticlusterClusterResourceReconcilerMockRecorder) ReconcileClusterResource(clusterName, obj interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileClusterResource", reflect.TypeOf((*MockMulticlusterClusterResourceReconciler)(nil).ReconcileClusterResource), clusterName, obj)
}
type MockMulticlusterClusterResourceDeletionReconciler struct {
	ctrl     *gomock.Controller
	recorder *MockMulticlusterClusterResourceDeletionReconcilerMockRecorder
}
type MockMulticlusterClusterResourceDeletionReconcilerMockRecorder struct {
	mock *MockMulticlusterClusterResourceDeletionReconciler
}
func NewMockMulticlusterClusterResourceDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterClusterResourceDeletionReconciler {
	mock := &MockMulticlusterClusterResourceDeletionReconciler{ctrl: ctrl}
	mock.recorder = &MockMulticlusterClusterResourceDeletionReconcilerMockRecorder{mock}
	return mock
}
func (m *MockMulticlusterClusterResourceDeletionReconciler) EXPECT() *MockMulticlusterClusterResourceDeletionReconcilerMockRecorder {
	return m.recorder
}
func (m *MockMulticlusterClusterResourceDeletionReconciler) ReconcileClusterResourceDeletion(clusterName string, req reconcile.Request) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ReconcileClusterResourceDeletion", clusterName, req)
	ret0, _ := ret[0].(error)
	return ret0
}
func (mr *MockMulticlusterClusterResourceDeletionReconcilerMockRecorder) ReconcileClusterResourceDeletion(clusterName, req interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileClusterResourceDeletion", reflect.TypeOf((*MockMulticlusterClusterResourceDeletionReconciler)(nil).ReconcileClusterResourceDeletion), clusterName, req)
}
type MockMulticlusterClusterResourceReconcileLoop struct {
	ctrl     *gomock.Controller
	recorder *MockMulticlusterClusterResourceReconcileLoopMockRecorder
}
type MockMulticlusterClusterResourceReconcileLoopMockRecorder struct {
	mock *MockMulticlusterClusterResourceReconcileLoop
}
func NewMockMulticlusterClusterResourceReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterClusterResourceReconcileLoop {
	mock := &MockMulticlusterClusterResourceReconcileLoop{ctrl: ctrl}
	mock.recorder = &MockMulticlusterClusterResourceReconcileLoopMockRecorder{mock}
	return mock
}
func (m *MockMulticlusterClusterResourceReconcileLoop) EXPECT() *MockMulticlusterClusterResourceReconcileLoopMockRecorder {
	return m.recorder
}
func (m *MockMulticlusterClusterResourceReconcileLoop) AddMulticlusterClusterResourceReconciler(ctx context.Context, rec controller.MulticlusterClusterResourceReconciler, predicates ...predicate.Predicate) {
	m.ctrl.T.Helper()
	varargs := []interface{}{ctx, rec}
	for _, a := range predicates {
		varargs = append(varargs, a)
	}
	m.ctrl.Call(m, "AddMulticlusterClusterResourceReconciler", varargs...)
}