// Code generated by MockGen. DO NOT EDIT.
// Source: types.go
//
// Generated by this command:
//
//	mockgen -destination=mocks/mock_path_resolver.go -package=mocks -source=types.go PathResolver Installer
//

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

import (
	reflect "reflect"

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

// MockPathResolver is a mock of PathResolver interface.
type MockPathResolver struct {
	ctrl     *gomock.Controller
	recorder *MockPathResolverMockRecorder
	isgomock struct{}
}

// MockPathResolverMockRecorder is the mock recorder for MockPathResolver.
type MockPathResolverMockRecorder struct {
	mock *MockPathResolver
}

// NewMockPathResolver creates a new mock instance.
func NewMockPathResolver(ctrl *gomock.Controller) *MockPathResolver {
	mock := &MockPathResolver{ctrl: ctrl}
	mock.recorder = &MockPathResolverMockRecorder{mock}
	return mock
}

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

// GetSkillPath mocks base method.
func (m *MockPathResolver) GetSkillPath(clientType, skillName string, scope skills.Scope, projectRoot string) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetSkillPath", clientType, skillName, scope, projectRoot)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetSkillPath indicates an expected call of GetSkillPath.
func (mr *MockPathResolverMockRecorder) GetSkillPath(clientType, skillName, scope, projectRoot any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSkillPath", reflect.TypeOf((*MockPathResolver)(nil).GetSkillPath), clientType, skillName, scope, projectRoot)
}

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

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

// MockInstaller is a mock of Installer interface.
type MockInstaller struct {
	ctrl     *gomock.Controller
	recorder *MockInstallerMockRecorder
	isgomock struct{}
}

// MockInstallerMockRecorder is the mock recorder for MockInstaller.
type MockInstallerMockRecorder struct {
	mock *MockInstaller
}

// NewMockInstaller creates a new mock instance.
func NewMockInstaller(ctrl *gomock.Controller) *MockInstaller {
	mock := &MockInstaller{ctrl: ctrl}
	mock.recorder = &MockInstallerMockRecorder{mock}
	return mock
}

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

// Extract mocks base method.
func (m *MockInstaller) Extract(layerData []byte, targetDir string, force bool) (*skills.ExtractResult, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Extract", layerData, targetDir, force)
	ret0, _ := ret[0].(*skills.ExtractResult)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Extract indicates an expected call of Extract.
func (mr *MockInstallerMockRecorder) Extract(layerData, targetDir, force any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Extract", reflect.TypeOf((*MockInstaller)(nil).Extract), layerData, targetDir, force)
}

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

// Remove indicates an expected call of Remove.
func (mr *MockInstallerMockRecorder) Remove(skillDir any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Remove", reflect.TypeOf((*MockInstaller)(nil).Remove), skillDir)
}
