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

package testing

import (
	io "io"
	reflect "reflect"

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

// MockProjectMarkdownUploadsServiceInterface is a mock of ProjectMarkdownUploadsServiceInterface interface.
type MockProjectMarkdownUploadsServiceInterface struct {
	ctrl     *gomock.Controller
	recorder *MockProjectMarkdownUploadsServiceInterfaceMockRecorder
	isgomock struct{}
}

// MockProjectMarkdownUploadsServiceInterfaceMockRecorder is the mock recorder for MockProjectMarkdownUploadsServiceInterface.
type MockProjectMarkdownUploadsServiceInterfaceMockRecorder struct {
	mock *MockProjectMarkdownUploadsServiceInterface
}

// NewMockProjectMarkdownUploadsServiceInterface creates a new mock instance.
func NewMockProjectMarkdownUploadsServiceInterface(ctrl *gomock.Controller) *MockProjectMarkdownUploadsServiceInterface {
	mock := &MockProjectMarkdownUploadsServiceInterface{ctrl: ctrl}
	mock.recorder = &MockProjectMarkdownUploadsServiceInterfaceMockRecorder{mock}
	return mock
}

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

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

// DeleteProjectMarkdownUploadByID indicates an expected call of DeleteProjectMarkdownUploadByID.
func (mr *MockProjectMarkdownUploadsServiceInterfaceMockRecorder) DeleteProjectMarkdownUploadByID(pid, uploadID any, options ...any) *MockProjectMarkdownUploadsServiceInterfaceDeleteProjectMarkdownUploadByIDCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, uploadID}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteProjectMarkdownUploadByID", reflect.TypeOf((*MockProjectMarkdownUploadsServiceInterface)(nil).DeleteProjectMarkdownUploadByID), varargs...)
	return &MockProjectMarkdownUploadsServiceInterfaceDeleteProjectMarkdownUploadByIDCall{Call: call}
}

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

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

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

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

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

// DeleteProjectMarkdownUploadBySecretAndFilename indicates an expected call of DeleteProjectMarkdownUploadBySecretAndFilename.
func (mr *MockProjectMarkdownUploadsServiceInterfaceMockRecorder) DeleteProjectMarkdownUploadBySecretAndFilename(pid, secret, filename any, options ...any) *MockProjectMarkdownUploadsServiceInterfaceDeleteProjectMarkdownUploadBySecretAndFilenameCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, secret, filename}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteProjectMarkdownUploadBySecretAndFilename", reflect.TypeOf((*MockProjectMarkdownUploadsServiceInterface)(nil).DeleteProjectMarkdownUploadBySecretAndFilename), varargs...)
	return &MockProjectMarkdownUploadsServiceInterfaceDeleteProjectMarkdownUploadBySecretAndFilenameCall{Call: call}
}

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

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

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

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

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

// DownloadProjectMarkdownUploadByID indicates an expected call of DownloadProjectMarkdownUploadByID.
func (mr *MockProjectMarkdownUploadsServiceInterfaceMockRecorder) DownloadProjectMarkdownUploadByID(pid, uploadID any, options ...any) *MockProjectMarkdownUploadsServiceInterfaceDownloadProjectMarkdownUploadByIDCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, uploadID}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DownloadProjectMarkdownUploadByID", reflect.TypeOf((*MockProjectMarkdownUploadsServiceInterface)(nil).DownloadProjectMarkdownUploadByID), varargs...)
	return &MockProjectMarkdownUploadsServiceInterfaceDownloadProjectMarkdownUploadByIDCall{Call: call}
}

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

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

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

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

// DownloadProjectMarkdownUploadBySecretAndFilename mocks base method.
func (m *MockProjectMarkdownUploadsServiceInterface) DownloadProjectMarkdownUploadBySecretAndFilename(pid any, secret, filename string, options ...gitlab.RequestOptionFunc) ([]byte, *gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{pid, secret, filename}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "DownloadProjectMarkdownUploadBySecretAndFilename", varargs...)
	ret0, _ := ret[0].([]byte)
	ret1, _ := ret[1].(*gitlab.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// DownloadProjectMarkdownUploadBySecretAndFilename indicates an expected call of DownloadProjectMarkdownUploadBySecretAndFilename.
func (mr *MockProjectMarkdownUploadsServiceInterfaceMockRecorder) DownloadProjectMarkdownUploadBySecretAndFilename(pid, secret, filename any, options ...any) *MockProjectMarkdownUploadsServiceInterfaceDownloadProjectMarkdownUploadBySecretAndFilenameCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, secret, filename}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DownloadProjectMarkdownUploadBySecretAndFilename", reflect.TypeOf((*MockProjectMarkdownUploadsServiceInterface)(nil).DownloadProjectMarkdownUploadBySecretAndFilename), varargs...)
	return &MockProjectMarkdownUploadsServiceInterfaceDownloadProjectMarkdownUploadBySecretAndFilenameCall{Call: call}
}

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

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

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

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

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

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

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

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

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

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

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

// UploadProjectMarkdown indicates an expected call of UploadProjectMarkdown.
func (mr *MockProjectMarkdownUploadsServiceInterfaceMockRecorder) UploadProjectMarkdown(pid, content, filename any, options ...any) *MockProjectMarkdownUploadsServiceInterfaceUploadProjectMarkdownCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, content, filename}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UploadProjectMarkdown", reflect.TypeOf((*MockProjectMarkdownUploadsServiceInterface)(nil).UploadProjectMarkdown), varargs...)
	return &MockProjectMarkdownUploadsServiceInterfaceUploadProjectMarkdownCall{Call: call}
}

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

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

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

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