// Code generated by MockGen. DO NOT EDIT.
// Source: types.go
//
// Generated by this command:
//
//	mockgen -destination=mocks/mock_backend_client.go -package=mocks -source=types.go BackendClient HealthChecker
//

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

import (
	context "context"
	reflect "reflect"

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

// MockHealthChecker is a mock of HealthChecker interface.
type MockHealthChecker struct {
	ctrl     *gomock.Controller
	recorder *MockHealthCheckerMockRecorder
	isgomock struct{}
}

// MockHealthCheckerMockRecorder is the mock recorder for MockHealthChecker.
type MockHealthCheckerMockRecorder struct {
	mock *MockHealthChecker
}

// NewMockHealthChecker creates a new mock instance.
func NewMockHealthChecker(ctrl *gomock.Controller) *MockHealthChecker {
	mock := &MockHealthChecker{ctrl: ctrl}
	mock.recorder = &MockHealthCheckerMockRecorder{mock}
	return mock
}

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

// CheckHealth mocks base method.
func (m *MockHealthChecker) CheckHealth(ctx context.Context, target *vmcp.BackendTarget) (vmcp.BackendHealthStatus, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckHealth", ctx, target)
	ret0, _ := ret[0].(vmcp.BackendHealthStatus)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CheckHealth indicates an expected call of CheckHealth.
func (mr *MockHealthCheckerMockRecorder) CheckHealth(ctx, target any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckHealth", reflect.TypeOf((*MockHealthChecker)(nil).CheckHealth), ctx, target)
}

// MockBackendClient is a mock of BackendClient interface.
type MockBackendClient struct {
	ctrl     *gomock.Controller
	recorder *MockBackendClientMockRecorder
	isgomock struct{}
}

// MockBackendClientMockRecorder is the mock recorder for MockBackendClient.
type MockBackendClientMockRecorder struct {
	mock *MockBackendClient
}

// NewMockBackendClient creates a new mock instance.
func NewMockBackendClient(ctrl *gomock.Controller) *MockBackendClient {
	mock := &MockBackendClient{ctrl: ctrl}
	mock.recorder = &MockBackendClientMockRecorder{mock}
	return mock
}

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

// CallTool mocks base method.
func (m *MockBackendClient) CallTool(ctx context.Context, target *vmcp.BackendTarget, toolName string, arguments, meta map[string]any) (*vmcp.ToolCallResult, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CallTool", ctx, target, toolName, arguments, meta)
	ret0, _ := ret[0].(*vmcp.ToolCallResult)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CallTool indicates an expected call of CallTool.
func (mr *MockBackendClientMockRecorder) CallTool(ctx, target, toolName, arguments, meta any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CallTool", reflect.TypeOf((*MockBackendClient)(nil).CallTool), ctx, target, toolName, arguments, meta)
}

// GetPrompt mocks base method.
func (m *MockBackendClient) GetPrompt(ctx context.Context, target *vmcp.BackendTarget, name string, arguments map[string]any) (*vmcp.PromptGetResult, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetPrompt", ctx, target, name, arguments)
	ret0, _ := ret[0].(*vmcp.PromptGetResult)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetPrompt indicates an expected call of GetPrompt.
func (mr *MockBackendClientMockRecorder) GetPrompt(ctx, target, name, arguments any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPrompt", reflect.TypeOf((*MockBackendClient)(nil).GetPrompt), ctx, target, name, arguments)
}

// ListCapabilities mocks base method.
func (m *MockBackendClient) ListCapabilities(ctx context.Context, target *vmcp.BackendTarget) (*vmcp.CapabilityList, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListCapabilities", ctx, target)
	ret0, _ := ret[0].(*vmcp.CapabilityList)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListCapabilities indicates an expected call of ListCapabilities.
func (mr *MockBackendClientMockRecorder) ListCapabilities(ctx, target any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListCapabilities", reflect.TypeOf((*MockBackendClient)(nil).ListCapabilities), ctx, target)
}

// ReadResource mocks base method.
func (m *MockBackendClient) ReadResource(ctx context.Context, target *vmcp.BackendTarget, uri string) (*vmcp.ResourceReadResult, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ReadResource", ctx, target, uri)
	ret0, _ := ret[0].(*vmcp.ResourceReadResult)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ReadResource indicates an expected call of ReadResource.
func (mr *MockBackendClientMockRecorder) ReadResource(ctx, target, uri any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReadResource", reflect.TypeOf((*MockBackendClient)(nil).ReadResource), ctx, target, uri)
}
