// Code generated by MockGen. DO NOT EDIT.
// Source: gitlab.com/gitlab-org/api/client-go (interfaces: InvitesServiceInterface)
//
// Generated by this command:
//
//	mockgen -typed -destination=invites_mock.go -write_package_comment=false -package=testing gitlab.com/gitlab-org/api/client-go InvitesServiceInterface
//

package testing

import (
	reflect "reflect"

	gitlab "gitlab.com/gitlab-org/api/client-go"
	gomock "go.uber.org/mock/gomock"
)

// MockInvitesServiceInterface is a mock of InvitesServiceInterface interface.
type MockInvitesServiceInterface struct {
	ctrl     *gomock.Controller
	recorder *MockInvitesServiceInterfaceMockRecorder
	isgomock struct{}
}

// MockInvitesServiceInterfaceMockRecorder is the mock recorder for MockInvitesServiceInterface.
type MockInvitesServiceInterfaceMockRecorder struct {
	mock *MockInvitesServiceInterface
}

// NewMockInvitesServiceInterface creates a new mock instance.
func NewMockInvitesServiceInterface(ctrl *gomock.Controller) *MockInvitesServiceInterface {
	mock := &MockInvitesServiceInterface{ctrl: ctrl}
	mock.recorder = &MockInvitesServiceInterfaceMockRecorder{mock}
	return mock
}

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

// GroupInvites mocks base method.
func (m *MockInvitesServiceInterface) GroupInvites(gid any, opt *gitlab.InvitesOptions, options ...gitlab.RequestOptionFunc) (*gitlab.InvitesResult, *gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{gid, opt}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "GroupInvites", varargs...)
	ret0, _ := ret[0].(*gitlab.InvitesResult)
	ret1, _ := ret[1].(*gitlab.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// GroupInvites indicates an expected call of GroupInvites.
func (mr *MockInvitesServiceInterfaceMockRecorder) GroupInvites(gid, opt any, options ...any) *MockInvitesServiceInterfaceGroupInvitesCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{gid, opt}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GroupInvites", reflect.TypeOf((*MockInvitesServiceInterface)(nil).GroupInvites), varargs...)
	return &MockInvitesServiceInterfaceGroupInvitesCall{Call: call}
}

// MockInvitesServiceInterfaceGroupInvitesCall wrap *gomock.Call
type MockInvitesServiceInterfaceGroupInvitesCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockInvitesServiceInterfaceGroupInvitesCall) Return(arg0 *gitlab.InvitesResult, arg1 *gitlab.Response, arg2 error) *MockInvitesServiceInterfaceGroupInvitesCall {
	c.Call = c.Call.Return(arg0, arg1, arg2)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockInvitesServiceInterfaceGroupInvitesCall) Do(f func(any, *gitlab.InvitesOptions, ...gitlab.RequestOptionFunc) (*gitlab.InvitesResult, *gitlab.Response, error)) *MockInvitesServiceInterfaceGroupInvitesCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockInvitesServiceInterfaceGroupInvitesCall) DoAndReturn(f func(any, *gitlab.InvitesOptions, ...gitlab.RequestOptionFunc) (*gitlab.InvitesResult, *gitlab.Response, error)) *MockInvitesServiceInterfaceGroupInvitesCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// ListPendingGroupInvitations mocks base method.
func (m *MockInvitesServiceInterface) ListPendingGroupInvitations(gid any, opt *gitlab.ListPendingInvitationsOptions, options ...gitlab.RequestOptionFunc) ([]*gitlab.PendingInvite, *gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{gid, opt}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ListPendingGroupInvitations", varargs...)
	ret0, _ := ret[0].([]*gitlab.PendingInvite)
	ret1, _ := ret[1].(*gitlab.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ListPendingGroupInvitations indicates an expected call of ListPendingGroupInvitations.
func (mr *MockInvitesServiceInterfaceMockRecorder) ListPendingGroupInvitations(gid, opt any, options ...any) *MockInvitesServiceInterfaceListPendingGroupInvitationsCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{gid, opt}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPendingGroupInvitations", reflect.TypeOf((*MockInvitesServiceInterface)(nil).ListPendingGroupInvitations), varargs...)
	return &MockInvitesServiceInterfaceListPendingGroupInvitationsCall{Call: call}
}

// MockInvitesServiceInterfaceListPendingGroupInvitationsCall wrap *gomock.Call
type MockInvitesServiceInterfaceListPendingGroupInvitationsCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockInvitesServiceInterfaceListPendingGroupInvitationsCall) Return(arg0 []*gitlab.PendingInvite, arg1 *gitlab.Response, arg2 error) *MockInvitesServiceInterfaceListPendingGroupInvitationsCall {
	c.Call = c.Call.Return(arg0, arg1, arg2)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockInvitesServiceInterfaceListPendingGroupInvitationsCall) Do(f func(any, *gitlab.ListPendingInvitationsOptions, ...gitlab.RequestOptionFunc) ([]*gitlab.PendingInvite, *gitlab.Response, error)) *MockInvitesServiceInterfaceListPendingGroupInvitationsCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockInvitesServiceInterfaceListPendingGroupInvitationsCall) DoAndReturn(f func(any, *gitlab.ListPendingInvitationsOptions, ...gitlab.RequestOptionFunc) ([]*gitlab.PendingInvite, *gitlab.Response, error)) *MockInvitesServiceInterfaceListPendingGroupInvitationsCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// ListPendingProjectInvitations mocks base method.
func (m *MockInvitesServiceInterface) ListPendingProjectInvitations(pid any, opt *gitlab.ListPendingInvitationsOptions, options ...gitlab.RequestOptionFunc) ([]*gitlab.PendingInvite, *gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{pid, opt}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ListPendingProjectInvitations", varargs...)
	ret0, _ := ret[0].([]*gitlab.PendingInvite)
	ret1, _ := ret[1].(*gitlab.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ListPendingProjectInvitations indicates an expected call of ListPendingProjectInvitations.
func (mr *MockInvitesServiceInterfaceMockRecorder) ListPendingProjectInvitations(pid, opt any, options ...any) *MockInvitesServiceInterfaceListPendingProjectInvitationsCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, opt}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPendingProjectInvitations", reflect.TypeOf((*MockInvitesServiceInterface)(nil).ListPendingProjectInvitations), varargs...)
	return &MockInvitesServiceInterfaceListPendingProjectInvitationsCall{Call: call}
}

// MockInvitesServiceInterfaceListPendingProjectInvitationsCall wrap *gomock.Call
type MockInvitesServiceInterfaceListPendingProjectInvitationsCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockInvitesServiceInterfaceListPendingProjectInvitationsCall) Return(arg0 []*gitlab.PendingInvite, arg1 *gitlab.Response, arg2 error) *MockInvitesServiceInterfaceListPendingProjectInvitationsCall {
	c.Call = c.Call.Return(arg0, arg1, arg2)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockInvitesServiceInterfaceListPendingProjectInvitationsCall) Do(f func(any, *gitlab.ListPendingInvitationsOptions, ...gitlab.RequestOptionFunc) ([]*gitlab.PendingInvite, *gitlab.Response, error)) *MockInvitesServiceInterfaceListPendingProjectInvitationsCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockInvitesServiceInterfaceListPendingProjectInvitationsCall) DoAndReturn(f func(any, *gitlab.ListPendingInvitationsOptions, ...gitlab.RequestOptionFunc) ([]*gitlab.PendingInvite, *gitlab.Response, error)) *MockInvitesServiceInterfaceListPendingProjectInvitationsCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// ProjectInvites mocks base method.
func (m *MockInvitesServiceInterface) ProjectInvites(pid any, opt *gitlab.InvitesOptions, options ...gitlab.RequestOptionFunc) (*gitlab.InvitesResult, *gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{pid, opt}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ProjectInvites", varargs...)
	ret0, _ := ret[0].(*gitlab.InvitesResult)
	ret1, _ := ret[1].(*gitlab.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ProjectInvites indicates an expected call of ProjectInvites.
func (mr *MockInvitesServiceInterfaceMockRecorder) ProjectInvites(pid, opt any, options ...any) *MockInvitesServiceInterfaceProjectInvitesCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, opt}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ProjectInvites", reflect.TypeOf((*MockInvitesServiceInterface)(nil).ProjectInvites), varargs...)
	return &MockInvitesServiceInterfaceProjectInvitesCall{Call: call}
}

// MockInvitesServiceInterfaceProjectInvitesCall wrap *gomock.Call
type MockInvitesServiceInterfaceProjectInvitesCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockInvitesServiceInterfaceProjectInvitesCall) Return(arg0 *gitlab.InvitesResult, arg1 *gitlab.Response, arg2 error) *MockInvitesServiceInterfaceProjectInvitesCall {
	c.Call = c.Call.Return(arg0, arg1, arg2)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockInvitesServiceInterfaceProjectInvitesCall) Do(f func(any, *gitlab.InvitesOptions, ...gitlab.RequestOptionFunc) (*gitlab.InvitesResult, *gitlab.Response, error)) *MockInvitesServiceInterfaceProjectInvitesCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockInvitesServiceInterfaceProjectInvitesCall) DoAndReturn(f func(any, *gitlab.InvitesOptions, ...gitlab.RequestOptionFunc) (*gitlab.InvitesResult, *gitlab.Response, error)) *MockInvitesServiceInterfaceProjectInvitesCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
