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

package testing

import (
	io "io"
	reflect "reflect"

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

// MockAlertManagementServiceInterface is a mock of AlertManagementServiceInterface interface.
type MockAlertManagementServiceInterface struct {
	ctrl     *gomock.Controller
	recorder *MockAlertManagementServiceInterfaceMockRecorder
	isgomock struct{}
}

// MockAlertManagementServiceInterfaceMockRecorder is the mock recorder for MockAlertManagementServiceInterface.
type MockAlertManagementServiceInterfaceMockRecorder struct {
	mock *MockAlertManagementServiceInterface
}

// NewMockAlertManagementServiceInterface creates a new mock instance.
func NewMockAlertManagementServiceInterface(ctrl *gomock.Controller) *MockAlertManagementServiceInterface {
	mock := &MockAlertManagementServiceInterface{ctrl: ctrl}
	mock.recorder = &MockAlertManagementServiceInterfaceMockRecorder{mock}
	return mock
}

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

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

// DeleteMetricImage indicates an expected call of DeleteMetricImage.
func (mr *MockAlertManagementServiceInterfaceMockRecorder) DeleteMetricImage(pid, alertIID, id any, options ...any) *MockAlertManagementServiceInterfaceDeleteMetricImageCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, alertIID, id}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteMetricImage", reflect.TypeOf((*MockAlertManagementServiceInterface)(nil).DeleteMetricImage), varargs...)
	return &MockAlertManagementServiceInterfaceDeleteMetricImageCall{Call: call}
}

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

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

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

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

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

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

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

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

// Do rewrite *gomock.Call.Do
func (c *MockAlertManagementServiceInterfaceListMetricImagesCall) Do(f func(any, int64, *gitlab.ListMetricImagesOptions, ...gitlab.RequestOptionFunc) ([]*gitlab.MetricImage, *gitlab.Response, error)) *MockAlertManagementServiceInterfaceListMetricImagesCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockAlertManagementServiceInterfaceListMetricImagesCall) DoAndReturn(f func(any, int64, *gitlab.ListMetricImagesOptions, ...gitlab.RequestOptionFunc) ([]*gitlab.MetricImage, *gitlab.Response, error)) *MockAlertManagementServiceInterfaceListMetricImagesCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

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

// UpdateMetricImage indicates an expected call of UpdateMetricImage.
func (mr *MockAlertManagementServiceInterfaceMockRecorder) UpdateMetricImage(pid, alertIID, id, opt any, options ...any) *MockAlertManagementServiceInterfaceUpdateMetricImageCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, alertIID, id, opt}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateMetricImage", reflect.TypeOf((*MockAlertManagementServiceInterface)(nil).UpdateMetricImage), varargs...)
	return &MockAlertManagementServiceInterfaceUpdateMetricImageCall{Call: call}
}

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

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

// Do rewrite *gomock.Call.Do
func (c *MockAlertManagementServiceInterfaceUpdateMetricImageCall) Do(f func(any, int64, int64, *gitlab.UpdateMetricImageOptions, ...gitlab.RequestOptionFunc) (*gitlab.MetricImage, *gitlab.Response, error)) *MockAlertManagementServiceInterfaceUpdateMetricImageCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockAlertManagementServiceInterfaceUpdateMetricImageCall) DoAndReturn(f func(any, int64, int64, *gitlab.UpdateMetricImageOptions, ...gitlab.RequestOptionFunc) (*gitlab.MetricImage, *gitlab.Response, error)) *MockAlertManagementServiceInterfaceUpdateMetricImageCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// UploadMetricImage mocks base method.
func (m *MockAlertManagementServiceInterface) UploadMetricImage(pid any, alertIID int64, content io.Reader, filename string, opt *gitlab.UploadMetricImageOptions, options ...gitlab.RequestOptionFunc) (*gitlab.MetricImage, *gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{pid, alertIID, content, filename, opt}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "UploadMetricImage", varargs...)
	ret0, _ := ret[0].(*gitlab.MetricImage)
	ret1, _ := ret[1].(*gitlab.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// UploadMetricImage indicates an expected call of UploadMetricImage.
func (mr *MockAlertManagementServiceInterfaceMockRecorder) UploadMetricImage(pid, alertIID, content, filename, opt any, options ...any) *MockAlertManagementServiceInterfaceUploadMetricImageCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, alertIID, content, filename, opt}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UploadMetricImage", reflect.TypeOf((*MockAlertManagementServiceInterface)(nil).UploadMetricImage), varargs...)
	return &MockAlertManagementServiceInterfaceUploadMetricImageCall{Call: call}
}

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

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

// Do rewrite *gomock.Call.Do
func (c *MockAlertManagementServiceInterfaceUploadMetricImageCall) Do(f func(any, int64, io.Reader, string, *gitlab.UploadMetricImageOptions, ...gitlab.RequestOptionFunc) (*gitlab.MetricImage, *gitlab.Response, error)) *MockAlertManagementServiceInterfaceUploadMetricImageCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockAlertManagementServiceInterfaceUploadMetricImageCall) DoAndReturn(f func(any, int64, io.Reader, string, *gitlab.UploadMetricImageOptions, ...gitlab.RequestOptionFunc) (*gitlab.MetricImage, *gitlab.Response, error)) *MockAlertManagementServiceInterfaceUploadMetricImageCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
