// Code generated by MockGen. DO NOT EDIT.
// Source: interfaces.go
//
// Generated by this command:
//
//	mockgen -destination=mocks/mock_skill_store.go -package=mocks -source=interfaces.go SkillStore
//

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

import (
	context "context"
	reflect "reflect"

	skills "github.com/stacklok/toolhive/pkg/skills"
	storage "github.com/stacklok/toolhive/pkg/storage"
	gomock "go.uber.org/mock/gomock"
)

// MockSkillStore is a mock of SkillStore interface.
type MockSkillStore struct {
	ctrl     *gomock.Controller
	recorder *MockSkillStoreMockRecorder
	isgomock struct{}
}

// MockSkillStoreMockRecorder is the mock recorder for MockSkillStore.
type MockSkillStoreMockRecorder struct {
	mock *MockSkillStore
}

// NewMockSkillStore creates a new mock instance.
func NewMockSkillStore(ctrl *gomock.Controller) *MockSkillStore {
	mock := &MockSkillStore{ctrl: ctrl}
	mock.recorder = &MockSkillStoreMockRecorder{mock}
	return mock
}

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

// Close mocks base method.
func (m *MockSkillStore) Close() error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Close")
	ret0, _ := ret[0].(error)
	return ret0
}

// Close indicates an expected call of Close.
func (mr *MockSkillStoreMockRecorder) Close() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockSkillStore)(nil).Close))
}

// Create mocks base method.
func (m *MockSkillStore) Create(ctx context.Context, skill skills.InstalledSkill) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Create", ctx, skill)
	ret0, _ := ret[0].(error)
	return ret0
}

// Create indicates an expected call of Create.
func (mr *MockSkillStoreMockRecorder) Create(ctx, skill any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockSkillStore)(nil).Create), ctx, skill)
}

// Delete mocks base method.
func (m *MockSkillStore) Delete(ctx context.Context, name string, scope skills.Scope, projectRoot string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Delete", ctx, name, scope, projectRoot)
	ret0, _ := ret[0].(error)
	return ret0
}

// Delete indicates an expected call of Delete.
func (mr *MockSkillStoreMockRecorder) Delete(ctx, name, scope, projectRoot any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockSkillStore)(nil).Delete), ctx, name, scope, projectRoot)
}

// Get mocks base method.
func (m *MockSkillStore) Get(ctx context.Context, name string, scope skills.Scope, projectRoot string) (skills.InstalledSkill, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", ctx, name, scope, projectRoot)
	ret0, _ := ret[0].(skills.InstalledSkill)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Get indicates an expected call of Get.
func (mr *MockSkillStoreMockRecorder) Get(ctx, name, scope, projectRoot any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockSkillStore)(nil).Get), ctx, name, scope, projectRoot)
}

// List mocks base method.
func (m *MockSkillStore) List(ctx context.Context, filter storage.ListFilter) ([]skills.InstalledSkill, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "List", ctx, filter)
	ret0, _ := ret[0].([]skills.InstalledSkill)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// List indicates an expected call of List.
func (mr *MockSkillStoreMockRecorder) List(ctx, filter any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockSkillStore)(nil).List), ctx, filter)
}

// Update mocks base method.
func (m *MockSkillStore) Update(ctx context.Context, skill skills.InstalledSkill) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Update", ctx, skill)
	ret0, _ := ret[0].(error)
	return ret0
}

// Update indicates an expected call of Update.
func (mr *MockSkillStoreMockRecorder) Update(ctx, skill any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockSkillStore)(nil).Update), ctx, skill)
}
