// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/tidbcloud/devops/pkg/service/jira/repo (interfaces: Repo)
//
// Generated by this command:
//
//	mockgen -destination repo_mock.go -package=repo github.com/tidbcloud/devops/pkg/service/jira/repo Repo
//

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

import (
	context "context"
	reflect "reflect"

	jira "github.com/tidbcloud/devops/entity/jira"
	repoopt "github.com/tidbcloud/devops/pkg/infra/utils/repoopt"
	gomock "go.uber.org/mock/gomock"
)

// MockRepo is a mock of Repo interface.
type MockRepo struct {
	ctrl     *gomock.Controller
	recorder *MockRepoMockRecorder
	isgomock struct{}
}

// MockRepoMockRecorder is the mock recorder for MockRepo.
type MockRepoMockRecorder struct {
	mock *MockRepo
}

// NewMockRepo creates a new mock instance.
func NewMockRepo(ctrl *gomock.Controller) *MockRepo {
	mock := &MockRepo{ctrl: ctrl}
	mock.recorder = &MockRepoMockRecorder{mock}
	return mock
}

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

// CountIssueTriages mocks base method.
func (m *MockRepo) CountIssueTriages(ctx context.Context, opts ...repoopt.Option) (int64, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "CountIssueTriages", varargs...)
	ret0, _ := ret[0].(int64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CountIssueTriages indicates an expected call of CountIssueTriages.
func (mr *MockRepoMockRecorder) CountIssueTriages(ctx any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CountIssueTriages", reflect.TypeOf((*MockRepo)(nil).CountIssueTriages), varargs...)
}

// CountIssues mocks base method.
func (m *MockRepo) CountIssues(ctx context.Context, opts ...repoopt.Option) (int64, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "CountIssues", varargs...)
	ret0, _ := ret[0].(int64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CountIssues indicates an expected call of CountIssues.
func (mr *MockRepoMockRecorder) CountIssues(ctx any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CountIssues", reflect.TypeOf((*MockRepo)(nil).CountIssues), varargs...)
}

// CreateIssue mocks base method.
func (m *MockRepo) CreateIssue(ctx context.Context, issue *jira.IssueInRepo) (*jira.IssueInRepo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateIssue", ctx, issue)
	ret0, _ := ret[0].(*jira.IssueInRepo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateIssue indicates an expected call of CreateIssue.
func (mr *MockRepoMockRecorder) CreateIssue(ctx, issue any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateIssue", reflect.TypeOf((*MockRepo)(nil).CreateIssue), ctx, issue)
}

// CreateIssueTriage mocks base method.
func (m *MockRepo) CreateIssueTriage(ctx context.Context, issue *jira.IssueTriage) (*jira.IssueTriage, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateIssueTriage", ctx, issue)
	ret0, _ := ret[0].(*jira.IssueTriage)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateIssueTriage indicates an expected call of CreateIssueTriage.
func (mr *MockRepoMockRecorder) CreateIssueTriage(ctx, issue any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateIssueTriage", reflect.TypeOf((*MockRepo)(nil).CreateIssueTriage), ctx, issue)
}

// CreateIssueTriageTag mocks base method.
func (m *MockRepo) CreateIssueTriageTag(ctx context.Context, tag *jira.IssueTriageTagDefinition) (*jira.IssueTriageTagDefinition, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateIssueTriageTag", ctx, tag)
	ret0, _ := ret[0].(*jira.IssueTriageTagDefinition)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateIssueTriageTag indicates an expected call of CreateIssueTriageTag.
func (mr *MockRepoMockRecorder) CreateIssueTriageTag(ctx, tag any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateIssueTriageTag", reflect.TypeOf((*MockRepo)(nil).CreateIssueTriageTag), ctx, tag)
}

// DeleteIssueTimelineSummary mocks base method.
func (m *MockRepo) DeleteIssueTimelineSummary(ctx context.Context, key string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteIssueTimelineSummary", ctx, key)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteIssueTimelineSummary indicates an expected call of DeleteIssueTimelineSummary.
func (mr *MockRepoMockRecorder) DeleteIssueTimelineSummary(ctx, key any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteIssueTimelineSummary", reflect.TypeOf((*MockRepo)(nil).DeleteIssueTimelineSummary), ctx, key)
}

// DeleteIssueTriageTag mocks base method.
func (m *MockRepo) DeleteIssueTriageTag(ctx context.Context, name string, typ jira.IssueTriageTagType) (*jira.IssueTriageTagDefinition, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteIssueTriageTag", ctx, name, typ)
	ret0, _ := ret[0].(*jira.IssueTriageTagDefinition)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// DeleteIssueTriageTag indicates an expected call of DeleteIssueTriageTag.
func (mr *MockRepoMockRecorder) DeleteIssueTriageTag(ctx, name, typ any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteIssueTriageTag", reflect.TypeOf((*MockRepo)(nil).DeleteIssueTriageTag), ctx, name, typ)
}

// GetIssue mocks base method.
func (m *MockRepo) GetIssue(ctx context.Context, key string) (*jira.IssueInRepo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetIssue", ctx, key)
	ret0, _ := ret[0].(*jira.IssueInRepo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetIssue indicates an expected call of GetIssue.
func (mr *MockRepoMockRecorder) GetIssue(ctx, key any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetIssue", reflect.TypeOf((*MockRepo)(nil).GetIssue), ctx, key)
}

// GetIssueTimelineSummary mocks base method.
func (m *MockRepo) GetIssueTimelineSummary(ctx context.Context, key string) (*jira.IssueTimelineSummary, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetIssueTimelineSummary", ctx, key)
	ret0, _ := ret[0].(*jira.IssueTimelineSummary)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetIssueTimelineSummary indicates an expected call of GetIssueTimelineSummary.
func (mr *MockRepoMockRecorder) GetIssueTimelineSummary(ctx, key any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetIssueTimelineSummary", reflect.TypeOf((*MockRepo)(nil).GetIssueTimelineSummary), ctx, key)
}

// GetIssueTriage mocks base method.
func (m *MockRepo) GetIssueTriage(ctx context.Context, key string) (*jira.IssueTriage, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetIssueTriage", ctx, key)
	ret0, _ := ret[0].(*jira.IssueTriage)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetIssueTriage indicates an expected call of GetIssueTriage.
func (mr *MockRepoMockRecorder) GetIssueTriage(ctx, key any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetIssueTriage", reflect.TypeOf((*MockRepo)(nil).GetIssueTriage), ctx, key)
}

// ListIssueTriageTags mocks base method.
func (m *MockRepo) ListIssueTriageTags(ctx context.Context, opts ...repoopt.Option) ([]*jira.IssueTriageTagDefinition, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ListIssueTriageTags", varargs...)
	ret0, _ := ret[0].([]*jira.IssueTriageTagDefinition)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListIssueTriageTags indicates an expected call of ListIssueTriageTags.
func (mr *MockRepoMockRecorder) ListIssueTriageTags(ctx any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListIssueTriageTags", reflect.TypeOf((*MockRepo)(nil).ListIssueTriageTags), varargs...)
}

// ListIssueTriages mocks base method.
func (m *MockRepo) ListIssueTriages(ctx context.Context, opts ...repoopt.Option) ([]*jira.IssueTriage, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ListIssueTriages", varargs...)
	ret0, _ := ret[0].([]*jira.IssueTriage)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListIssueTriages indicates an expected call of ListIssueTriages.
func (mr *MockRepoMockRecorder) ListIssueTriages(ctx any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListIssueTriages", reflect.TypeOf((*MockRepo)(nil).ListIssueTriages), varargs...)
}

// ListIssues mocks base method.
func (m *MockRepo) ListIssues(ctx context.Context, opts ...repoopt.Option) ([]*jira.IssueInRepo, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ListIssues", varargs...)
	ret0, _ := ret[0].([]*jira.IssueInRepo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListIssues indicates an expected call of ListIssues.
func (mr *MockRepoMockRecorder) ListIssues(ctx any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListIssues", reflect.TypeOf((*MockRepo)(nil).ListIssues), varargs...)
}

// SetIssueTimelineSummary mocks base method.
func (m *MockRepo) SetIssueTimelineSummary(ctx context.Context, key string, summary *jira.IssueTimelineSummary) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SetIssueTimelineSummary", ctx, key, summary)
	ret0, _ := ret[0].(error)
	return ret0
}

// SetIssueTimelineSummary indicates an expected call of SetIssueTimelineSummary.
func (mr *MockRepoMockRecorder) SetIssueTimelineSummary(ctx, key, summary any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetIssueTimelineSummary", reflect.TypeOf((*MockRepo)(nil).SetIssueTimelineSummary), ctx, key, summary)
}

// UpdateIssue mocks base method.
func (m *MockRepo) UpdateIssue(ctx context.Context, issue *jira.IssueInRepo) (*jira.IssueInRepo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateIssue", ctx, issue)
	ret0, _ := ret[0].(*jira.IssueInRepo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// UpdateIssue indicates an expected call of UpdateIssue.
func (mr *MockRepoMockRecorder) UpdateIssue(ctx, issue any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateIssue", reflect.TypeOf((*MockRepo)(nil).UpdateIssue), ctx, issue)
}

// UpsertIssueTriage mocks base method.
func (m *MockRepo) UpsertIssueTriage(ctx context.Context, issue *jira.IssueTriage) (*jira.IssueTriage, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpsertIssueTriage", ctx, issue)
	ret0, _ := ret[0].(*jira.IssueTriage)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// UpsertIssueTriage indicates an expected call of UpsertIssueTriage.
func (mr *MockRepoMockRecorder) UpsertIssueTriage(ctx, issue any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertIssueTriage", reflect.TypeOf((*MockRepo)(nil).UpsertIssueTriage), ctx, issue)
}
