// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/stacklok/toolhive-registry-server/internal/sync (interfaces: Manager)
//
// Generated by this command:
//
//	mockgen -destination=mocks/mock_manager.go -package=mocks github.com/stacklok/toolhive-registry-server/internal/sync Manager
//

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

import (
	context "context"
	reflect "reflect"

	config "github.com/stacklok/toolhive-registry-server/internal/config"
	sources "github.com/stacklok/toolhive-registry-server/internal/sources"
	status "github.com/stacklok/toolhive-registry-server/internal/status"
	sync "github.com/stacklok/toolhive-registry-server/internal/sync"
	gomock "go.uber.org/mock/gomock"
)

// MockManager is a mock of Manager interface.
type MockManager struct {
	ctrl     *gomock.Controller
	recorder *MockManagerMockRecorder
	isgomock struct{}
}

// MockManagerMockRecorder is the mock recorder for MockManager.
type MockManagerMockRecorder struct {
	mock *MockManager
}

// NewMockManager creates a new mock instance.
func NewMockManager(ctrl *gomock.Controller) *MockManager {
	mock := &MockManager{ctrl: ctrl}
	mock.recorder = &MockManagerMockRecorder{mock}
	return mock
}

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

// PerformSync mocks base method.
func (m *MockManager) PerformSync(ctx context.Context, regCfg *config.SourceConfig, prefetched *sources.FetchResult) (*sync.Result, *sync.Error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PerformSync", ctx, regCfg, prefetched)
	ret0, _ := ret[0].(*sync.Result)
	ret1, _ := ret[1].(*sync.Error)
	return ret0, ret1
}

// PerformSync indicates an expected call of PerformSync.
func (mr *MockManagerMockRecorder) PerformSync(ctx, regCfg, prefetched any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PerformSync", reflect.TypeOf((*MockManager)(nil).PerformSync), ctx, regCfg, prefetched)
}

// ShouldSync mocks base method.
func (m *MockManager) ShouldSync(ctx context.Context, regCfg *config.SourceConfig, syncStatus *status.SyncStatus, manualSyncRequested bool) (sync.Reason, *sources.FetchResult) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ShouldSync", ctx, regCfg, syncStatus, manualSyncRequested)
	ret0, _ := ret[0].(sync.Reason)
	ret1, _ := ret[1].(*sources.FetchResult)
	return ret0, ret1
}

// ShouldSync indicates an expected call of ShouldSync.
func (mr *MockManagerMockRecorder) ShouldSync(ctx, regCfg, syncStatus, manualSyncRequested any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ShouldSync", reflect.TypeOf((*MockManager)(nil).ShouldSync), ctx, regCfg, syncStatus, manualSyncRequested)
}
