// Code generated by MockGen. DO NOT EDIT.
package mocks

import (
	context "context"
	reflect "reflect"

	"go.uber.org/mock/gomock"
	v1 "k8s.io/api/authorization/v1"
	v10 "k8s.io/apimachinery/pkg/apis/meta/v1"
	v11 "k8s.io/client-go/kubernetes/typed/authorization/v1"
)

// MockSubjectAccessReviewsGetter is a mock of SubjectAccessReviewsGetter interface.
type MockSubjectAccessReviewsGetter struct {
	ctrl     *gomock.Controller
	recorder *MockSubjectAccessReviewsGetterMockRecorder
}

// MockSubjectAccessReviewsGetterMockRecorder is the mock recorder for MockSubjectAccessReviewsGetter.
type MockSubjectAccessReviewsGetterMockRecorder struct {
	mock *MockSubjectAccessReviewsGetter
}

// NewMockSubjectAccessReviewsGetter creates a new mock instance.
func NewMockSubjectAccessReviewsGetter(ctrl *gomock.Controller) *MockSubjectAccessReviewsGetter {
	mock := &MockSubjectAccessReviewsGetter{ctrl: ctrl}
	mock.recorder = &MockSubjectAccessReviewsGetterMockRecorder{mock}
	return mock
}

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

// SubjectAccessReviews mocks base method.
func (m *MockSubjectAccessReviewsGetter) SubjectAccessReviews() v11.SubjectAccessReviewInterface {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SubjectAccessReviews")
	ret0, _ := ret[0].(v11.SubjectAccessReviewInterface)
	return ret0
}

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

// MockSubjectAccessReviewInterface is a mock of SubjectAccessReviewInterface interface.
type MockSubjectAccessReviewInterface struct {
	ctrl     *gomock.Controller
	recorder *MockSubjectAccessReviewInterfaceMockRecorder
}

// MockSubjectAccessReviewInterfaceMockRecorder is the mock recorder for MockSubjectAccessReviewInterface.
type MockSubjectAccessReviewInterfaceMockRecorder struct {
	mock *MockSubjectAccessReviewInterface
}

// NewMockSubjectAccessReviewInterface creates a new mock instance.
func NewMockSubjectAccessReviewInterface(ctrl *gomock.Controller) *MockSubjectAccessReviewInterface {
	mock := &MockSubjectAccessReviewInterface{ctrl: ctrl}
	mock.recorder = &MockSubjectAccessReviewInterfaceMockRecorder{mock}
	return mock
}

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

// Create mocks base method.
func (m *MockSubjectAccessReviewInterface) Create(ctx context.Context, subjectAccessReview *v1.SubjectAccessReview, opts v10.CreateOptions) (*v1.SubjectAccessReview, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Create", ctx, subjectAccessReview, opts)
	ret0, _ := ret[0].(*v1.SubjectAccessReview)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Create indicates an expected call of Create.
func (mr *MockSubjectAccessReviewInterfaceMockRecorder) Create(ctx, subjectAccessReview, opts interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockSubjectAccessReviewInterface)(nil).Create), ctx, subjectAccessReview, opts)
}
