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

package testing

import (
	io "io"
	reflect "reflect"

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

// MockWikisServiceInterface is a mock of WikisServiceInterface interface.
type MockWikisServiceInterface struct {
	ctrl     *gomock.Controller
	recorder *MockWikisServiceInterfaceMockRecorder
	isgomock struct{}
}

// MockWikisServiceInterfaceMockRecorder is the mock recorder for MockWikisServiceInterface.
type MockWikisServiceInterfaceMockRecorder struct {
	mock *MockWikisServiceInterface
}

// NewMockWikisServiceInterface creates a new mock instance.
func NewMockWikisServiceInterface(ctrl *gomock.Controller) *MockWikisServiceInterface {
	mock := &MockWikisServiceInterface{ctrl: ctrl}
	mock.recorder = &MockWikisServiceInterfaceMockRecorder{mock}
	return mock
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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