// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/rancher/rancher/pkg/generated/norman/rbac.authorization.k8s.io/v1 (interfaces: ClusterRoleBindingInterface,ClusterRoleBindingLister)

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

import (
	context "context"
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	objectclient "github.com/rancher/norman/objectclient"
	v1 "github.com/rancher/rancher/pkg/generated/norman/rbac.authorization.k8s.io/v1"
	v10 "k8s.io/api/rbac/v1"
	v11 "k8s.io/apimachinery/pkg/apis/meta/v1"
	labels "k8s.io/apimachinery/pkg/labels"
	watch "k8s.io/apimachinery/pkg/watch"
)

// MockClusterRoleBindingInterface is a mock of ClusterRoleBindingInterface interface.
type MockClusterRoleBindingInterface struct {
	ctrl     *gomock.Controller
	recorder *MockClusterRoleBindingInterfaceMockRecorder
}

// MockClusterRoleBindingInterfaceMockRecorder is the mock recorder for MockClusterRoleBindingInterface.
type MockClusterRoleBindingInterfaceMockRecorder struct {
	mock *MockClusterRoleBindingInterface
}

// NewMockClusterRoleBindingInterface creates a new mock instance.
func NewMockClusterRoleBindingInterface(ctrl *gomock.Controller) *MockClusterRoleBindingInterface {
	mock := &MockClusterRoleBindingInterface{ctrl: ctrl}
	mock.recorder = &MockClusterRoleBindingInterfaceMockRecorder{mock}
	return mock
}

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

// AddClusterScopedFeatureHandler mocks base method.
func (m *MockClusterRoleBindingInterface) AddClusterScopedFeatureHandler(arg0 context.Context, arg1 func() bool, arg2, arg3 string, arg4 v1.ClusterRoleBindingHandlerFunc) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddClusterScopedFeatureHandler", arg0, arg1, arg2, arg3, arg4)
}

// AddClusterScopedFeatureHandler indicates an expected call of AddClusterScopedFeatureHandler.
func (mr *MockClusterRoleBindingInterfaceMockRecorder) AddClusterScopedFeatureHandler(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddClusterScopedFeatureHandler", reflect.TypeOf((*MockClusterRoleBindingInterface)(nil).AddClusterScopedFeatureHandler), arg0, arg1, arg2, arg3, arg4)
}

// AddClusterScopedFeatureLifecycle mocks base method.
func (m *MockClusterRoleBindingInterface) AddClusterScopedFeatureLifecycle(arg0 context.Context, arg1 func() bool, arg2, arg3 string, arg4 v1.ClusterRoleBindingLifecycle) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddClusterScopedFeatureLifecycle", arg0, arg1, arg2, arg3, arg4)
}

// AddClusterScopedFeatureLifecycle indicates an expected call of AddClusterScopedFeatureLifecycle.
func (mr *MockClusterRoleBindingInterfaceMockRecorder) AddClusterScopedFeatureLifecycle(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddClusterScopedFeatureLifecycle", reflect.TypeOf((*MockClusterRoleBindingInterface)(nil).AddClusterScopedFeatureLifecycle), arg0, arg1, arg2, arg3, arg4)
}

// AddClusterScopedHandler mocks base method.
func (m *MockClusterRoleBindingInterface) AddClusterScopedHandler(arg0 context.Context, arg1, arg2 string, arg3 v1.ClusterRoleBindingHandlerFunc) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddClusterScopedHandler", arg0, arg1, arg2, arg3)
}

// AddClusterScopedHandler indicates an expected call of AddClusterScopedHandler.
func (mr *MockClusterRoleBindingInterfaceMockRecorder) AddClusterScopedHandler(arg0, arg1, arg2, arg3 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddClusterScopedHandler", reflect.TypeOf((*MockClusterRoleBindingInterface)(nil).AddClusterScopedHandler), arg0, arg1, arg2, arg3)
}

// AddClusterScopedLifecycle mocks base method.
func (m *MockClusterRoleBindingInterface) AddClusterScopedLifecycle(arg0 context.Context, arg1, arg2 string, arg3 v1.ClusterRoleBindingLifecycle) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddClusterScopedLifecycle", arg0, arg1, arg2, arg3)
}

// AddClusterScopedLifecycle indicates an expected call of AddClusterScopedLifecycle.
func (mr *MockClusterRoleBindingInterfaceMockRecorder) AddClusterScopedLifecycle(arg0, arg1, arg2, arg3 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddClusterScopedLifecycle", reflect.TypeOf((*MockClusterRoleBindingInterface)(nil).AddClusterScopedLifecycle), arg0, arg1, arg2, arg3)
}

// AddFeatureHandler mocks base method.
func (m *MockClusterRoleBindingInterface) AddFeatureHandler(arg0 context.Context, arg1 func() bool, arg2 string, arg3 v1.ClusterRoleBindingHandlerFunc) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddFeatureHandler", arg0, arg1, arg2, arg3)
}

// AddFeatureHandler indicates an expected call of AddFeatureHandler.
func (mr *MockClusterRoleBindingInterfaceMockRecorder) AddFeatureHandler(arg0, arg1, arg2, arg3 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddFeatureHandler", reflect.TypeOf((*MockClusterRoleBindingInterface)(nil).AddFeatureHandler), arg0, arg1, arg2, arg3)
}

// AddFeatureLifecycle mocks base method.
func (m *MockClusterRoleBindingInterface) AddFeatureLifecycle(arg0 context.Context, arg1 func() bool, arg2 string, arg3 v1.ClusterRoleBindingLifecycle) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddFeatureLifecycle", arg0, arg1, arg2, arg3)
}

// AddFeatureLifecycle indicates an expected call of AddFeatureLifecycle.
func (mr *MockClusterRoleBindingInterfaceMockRecorder) AddFeatureLifecycle(arg0, arg1, arg2, arg3 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddFeatureLifecycle", reflect.TypeOf((*MockClusterRoleBindingInterface)(nil).AddFeatureLifecycle), arg0, arg1, arg2, arg3)
}

// AddHandler mocks base method.
func (m *MockClusterRoleBindingInterface) AddHandler(arg0 context.Context, arg1 string, arg2 v1.ClusterRoleBindingHandlerFunc) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddHandler", arg0, arg1, arg2)
}

// AddHandler indicates an expected call of AddHandler.
func (mr *MockClusterRoleBindingInterfaceMockRecorder) AddHandler(arg0, arg1, arg2 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddHandler", reflect.TypeOf((*MockClusterRoleBindingInterface)(nil).AddHandler), arg0, arg1, arg2)
}

// AddLifecycle mocks base method.
func (m *MockClusterRoleBindingInterface) AddLifecycle(arg0 context.Context, arg1 string, arg2 v1.ClusterRoleBindingLifecycle) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddLifecycle", arg0, arg1, arg2)
}

// AddLifecycle indicates an expected call of AddLifecycle.
func (mr *MockClusterRoleBindingInterfaceMockRecorder) AddLifecycle(arg0, arg1, arg2 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddLifecycle", reflect.TypeOf((*MockClusterRoleBindingInterface)(nil).AddLifecycle), arg0, arg1, arg2)
}

// Controller mocks base method.
func (m *MockClusterRoleBindingInterface) Controller() v1.ClusterRoleBindingController {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Controller")
	ret0, _ := ret[0].(v1.ClusterRoleBindingController)
	return ret0
}

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

// Create mocks base method.
func (m *MockClusterRoleBindingInterface) Create(arg0 *v10.ClusterRoleBinding) (*v10.ClusterRoleBinding, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Create", arg0)
	ret0, _ := ret[0].(*v10.ClusterRoleBinding)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Create indicates an expected call of Create.
func (mr *MockClusterRoleBindingInterfaceMockRecorder) Create(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockClusterRoleBindingInterface)(nil).Create), arg0)
}

// Delete mocks base method.
func (m *MockClusterRoleBindingInterface) Delete(arg0 string, arg1 *v11.DeleteOptions) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Delete", arg0, arg1)
	ret0, _ := ret[0].(error)
	return ret0
}

// Delete indicates an expected call of Delete.
func (mr *MockClusterRoleBindingInterfaceMockRecorder) Delete(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockClusterRoleBindingInterface)(nil).Delete), arg0, arg1)
}

// DeleteCollection mocks base method.
func (m *MockClusterRoleBindingInterface) DeleteCollection(arg0 *v11.DeleteOptions, arg1 v11.ListOptions) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteCollection", arg0, arg1)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteCollection indicates an expected call of DeleteCollection.
func (mr *MockClusterRoleBindingInterfaceMockRecorder) DeleteCollection(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCollection", reflect.TypeOf((*MockClusterRoleBindingInterface)(nil).DeleteCollection), arg0, arg1)
}

// DeleteNamespaced mocks base method.
func (m *MockClusterRoleBindingInterface) DeleteNamespaced(arg0, arg1 string, arg2 *v11.DeleteOptions) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteNamespaced", arg0, arg1, arg2)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteNamespaced indicates an expected call of DeleteNamespaced.
func (mr *MockClusterRoleBindingInterfaceMockRecorder) DeleteNamespaced(arg0, arg1, arg2 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteNamespaced", reflect.TypeOf((*MockClusterRoleBindingInterface)(nil).DeleteNamespaced), arg0, arg1, arg2)
}

// Get mocks base method.
func (m *MockClusterRoleBindingInterface) Get(arg0 string, arg1 v11.GetOptions) (*v10.ClusterRoleBinding, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", arg0, arg1)
	ret0, _ := ret[0].(*v10.ClusterRoleBinding)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Get indicates an expected call of Get.
func (mr *MockClusterRoleBindingInterfaceMockRecorder) Get(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockClusterRoleBindingInterface)(nil).Get), arg0, arg1)
}

// GetNamespaced mocks base method.
func (m *MockClusterRoleBindingInterface) GetNamespaced(arg0, arg1 string, arg2 v11.GetOptions) (*v10.ClusterRoleBinding, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetNamespaced", arg0, arg1, arg2)
	ret0, _ := ret[0].(*v10.ClusterRoleBinding)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetNamespaced indicates an expected call of GetNamespaced.
func (mr *MockClusterRoleBindingInterfaceMockRecorder) GetNamespaced(arg0, arg1, arg2 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNamespaced", reflect.TypeOf((*MockClusterRoleBindingInterface)(nil).GetNamespaced), arg0, arg1, arg2)
}

// List mocks base method.
func (m *MockClusterRoleBindingInterface) List(arg0 v11.ListOptions) (*v10.ClusterRoleBindingList, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "List", arg0)
	ret0, _ := ret[0].(*v10.ClusterRoleBindingList)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// List indicates an expected call of List.
func (mr *MockClusterRoleBindingInterfaceMockRecorder) List(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockClusterRoleBindingInterface)(nil).List), arg0)
}

// ListNamespaced mocks base method.
func (m *MockClusterRoleBindingInterface) ListNamespaced(arg0 string, arg1 v11.ListOptions) (*v10.ClusterRoleBindingList, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListNamespaced", arg0, arg1)
	ret0, _ := ret[0].(*v10.ClusterRoleBindingList)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListNamespaced indicates an expected call of ListNamespaced.
func (mr *MockClusterRoleBindingInterfaceMockRecorder) ListNamespaced(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListNamespaced", reflect.TypeOf((*MockClusterRoleBindingInterface)(nil).ListNamespaced), arg0, arg1)
}

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

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

// Update mocks base method.
func (m *MockClusterRoleBindingInterface) Update(arg0 *v10.ClusterRoleBinding) (*v10.ClusterRoleBinding, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Update", arg0)
	ret0, _ := ret[0].(*v10.ClusterRoleBinding)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Update indicates an expected call of Update.
func (mr *MockClusterRoleBindingInterfaceMockRecorder) Update(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockClusterRoleBindingInterface)(nil).Update), arg0)
}

// Watch mocks base method.
func (m *MockClusterRoleBindingInterface) Watch(arg0 v11.ListOptions) (watch.Interface, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Watch", arg0)
	ret0, _ := ret[0].(watch.Interface)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Watch indicates an expected call of Watch.
func (mr *MockClusterRoleBindingInterfaceMockRecorder) Watch(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Watch", reflect.TypeOf((*MockClusterRoleBindingInterface)(nil).Watch), arg0)
}

// MockClusterRoleBindingLister is a mock of ClusterRoleBindingLister interface.
type MockClusterRoleBindingLister struct {
	ctrl     *gomock.Controller
	recorder *MockClusterRoleBindingListerMockRecorder
}

// MockClusterRoleBindingListerMockRecorder is the mock recorder for MockClusterRoleBindingLister.
type MockClusterRoleBindingListerMockRecorder struct {
	mock *MockClusterRoleBindingLister
}

// NewMockClusterRoleBindingLister creates a new mock instance.
func NewMockClusterRoleBindingLister(ctrl *gomock.Controller) *MockClusterRoleBindingLister {
	mock := &MockClusterRoleBindingLister{ctrl: ctrl}
	mock.recorder = &MockClusterRoleBindingListerMockRecorder{mock}
	return mock
}

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

// Get mocks base method.
func (m *MockClusterRoleBindingLister) Get(arg0, arg1 string) (*v10.ClusterRoleBinding, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", arg0, arg1)
	ret0, _ := ret[0].(*v10.ClusterRoleBinding)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Get indicates an expected call of Get.
func (mr *MockClusterRoleBindingListerMockRecorder) Get(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockClusterRoleBindingLister)(nil).Get), arg0, arg1)
}

// List mocks base method.
func (m *MockClusterRoleBindingLister) List(arg0 string, arg1 labels.Selector) ([]*v10.ClusterRoleBinding, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "List", arg0, arg1)
	ret0, _ := ret[0].([]*v10.ClusterRoleBinding)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// List indicates an expected call of List.
func (mr *MockClusterRoleBindingListerMockRecorder) List(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockClusterRoleBindingLister)(nil).List), arg0, arg1)
}
