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

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

import (
	reflect "reflect"

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

// MockMilestonesServiceInterface is a mock of MilestonesServiceInterface interface.
type MockMilestonesServiceInterface struct {
	ctrl     *gomock.Controller
	recorder *MockMilestonesServiceInterfaceMockRecorder
	isgomock struct{}
}

// MockMilestonesServiceInterfaceMockRecorder is the mock recorder for MockMilestonesServiceInterface.
type MockMilestonesServiceInterfaceMockRecorder struct {
	mock *MockMilestonesServiceInterface
}

// NewMockMilestonesServiceInterface creates a new mock instance.
func NewMockMilestonesServiceInterface(ctrl *gomock.Controller) *MockMilestonesServiceInterface {
	mock := &MockMilestonesServiceInterface{ctrl: ctrl}
	mock.recorder = &MockMilestonesServiceInterfaceMockRecorder{mock}
	return mock
}

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

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

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

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

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

// Do rewrite *gomock.Call.Do
func (c *MockMilestonesServiceInterfaceCreateMilestoneCall) Do(f func(any, *gitlab.CreateMilestoneOptions, ...gitlab.RequestOptionFunc) (*gitlab.Milestone, *gitlab.Response, error)) *MockMilestonesServiceInterfaceCreateMilestoneCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockMilestonesServiceInterfaceCreateMilestoneCall) DoAndReturn(f func(any, *gitlab.CreateMilestoneOptions, ...gitlab.RequestOptionFunc) (*gitlab.Milestone, *gitlab.Response, error)) *MockMilestonesServiceInterfaceCreateMilestoneCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// DeleteMilestone mocks base method.
func (m *MockMilestonesServiceInterface) DeleteMilestone(pid any, milestone int, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{pid, milestone}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "DeleteMilestone", varargs...)
	ret0, _ := ret[0].(*gitlab.Response)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// DeleteMilestone indicates an expected call of DeleteMilestone.
func (mr *MockMilestonesServiceInterfaceMockRecorder) DeleteMilestone(pid, milestone any, options ...any) *MockMilestonesServiceInterfaceDeleteMilestoneCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, milestone}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteMilestone", reflect.TypeOf((*MockMilestonesServiceInterface)(nil).DeleteMilestone), varargs...)
	return &MockMilestonesServiceInterfaceDeleteMilestoneCall{Call: call}
}

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

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

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

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

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

// GetMilestone indicates an expected call of GetMilestone.
func (mr *MockMilestonesServiceInterfaceMockRecorder) GetMilestone(pid, milestone any, options ...any) *MockMilestonesServiceInterfaceGetMilestoneCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, milestone}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMilestone", reflect.TypeOf((*MockMilestonesServiceInterface)(nil).GetMilestone), varargs...)
	return &MockMilestonesServiceInterfaceGetMilestoneCall{Call: call}
}

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

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

// Do rewrite *gomock.Call.Do
func (c *MockMilestonesServiceInterfaceGetMilestoneCall) Do(f func(any, int, ...gitlab.RequestOptionFunc) (*gitlab.Milestone, *gitlab.Response, error)) *MockMilestonesServiceInterfaceGetMilestoneCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockMilestonesServiceInterfaceGetMilestoneCall) DoAndReturn(f func(any, int, ...gitlab.RequestOptionFunc) (*gitlab.Milestone, *gitlab.Response, error)) *MockMilestonesServiceInterfaceGetMilestoneCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

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

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

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

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

// Do rewrite *gomock.Call.Do
func (c *MockMilestonesServiceInterfaceGetMilestoneIssuesCall) Do(f func(any, int, *gitlab.GetMilestoneIssuesOptions, ...gitlab.RequestOptionFunc) ([]*gitlab.Issue, *gitlab.Response, error)) *MockMilestonesServiceInterfaceGetMilestoneIssuesCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockMilestonesServiceInterfaceGetMilestoneIssuesCall) DoAndReturn(f func(any, int, *gitlab.GetMilestoneIssuesOptions, ...gitlab.RequestOptionFunc) ([]*gitlab.Issue, *gitlab.Response, error)) *MockMilestonesServiceInterfaceGetMilestoneIssuesCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

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

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

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

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

// Do rewrite *gomock.Call.Do
func (c *MockMilestonesServiceInterfaceGetMilestoneMergeRequestsCall) Do(f func(any, int, *gitlab.GetMilestoneMergeRequestsOptions, ...gitlab.RequestOptionFunc) ([]*gitlab.BasicMergeRequest, *gitlab.Response, error)) *MockMilestonesServiceInterfaceGetMilestoneMergeRequestsCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockMilestonesServiceInterfaceGetMilestoneMergeRequestsCall) DoAndReturn(f func(any, int, *gitlab.GetMilestoneMergeRequestsOptions, ...gitlab.RequestOptionFunc) ([]*gitlab.BasicMergeRequest, *gitlab.Response, error)) *MockMilestonesServiceInterfaceGetMilestoneMergeRequestsCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

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

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

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

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

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

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

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

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

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

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

// Do rewrite *gomock.Call.Do
func (c *MockMilestonesServiceInterfaceUpdateMilestoneCall) Do(f func(any, int, *gitlab.UpdateMilestoneOptions, ...gitlab.RequestOptionFunc) (*gitlab.Milestone, *gitlab.Response, error)) *MockMilestonesServiceInterfaceUpdateMilestoneCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockMilestonesServiceInterfaceUpdateMilestoneCall) DoAndReturn(f func(any, int, *gitlab.UpdateMilestoneOptions, ...gitlab.RequestOptionFunc) (*gitlab.Milestone, *gitlab.Response, error)) *MockMilestonesServiceInterfaceUpdateMilestoneCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
