// Code generated by MockGen. DO NOT EDIT.
// Source: writer.go
//
// Generated by this command:
//
//	mockgen -destination=mocks/mock_sync_writer.go -package=mocks -source=writer.go SyncWriter
//

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

import (
	context "context"
	reflect "reflect"

	registry "github.com/stacklok/toolhive-core/registry/types"
	writer "github.com/stacklok/toolhive-registry-server/internal/sync/writer"
	gomock "go.uber.org/mock/gomock"
)

// MockSyncWriter is a mock of SyncWriter interface.
type MockSyncWriter struct {
	ctrl     *gomock.Controller
	recorder *MockSyncWriterMockRecorder
	isgomock struct{}
}

// MockSyncWriterMockRecorder is the mock recorder for MockSyncWriter.
type MockSyncWriterMockRecorder struct {
	mock *MockSyncWriter
}

// NewMockSyncWriter creates a new mock instance.
func NewMockSyncWriter(ctrl *gomock.Controller) *MockSyncWriter {
	mock := &MockSyncWriter{ctrl: ctrl}
	mock.recorder = &MockSyncWriterMockRecorder{mock}
	return mock
}

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

// Store mocks base method.
func (m *MockSyncWriter) Store(ctx context.Context, registryName string, reg *registry.UpstreamRegistry, opts ...writer.StoreOption) error {
	m.ctrl.T.Helper()
	varargs := []any{ctx, registryName, reg}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "Store", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

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