// Code generated by MockGen. DO NOT EDIT.
// Source: hinter.go
//
// Generated by this command:
//
//	mockgen -source hinter.go -package=topology -destination=generated_mock_hinter.go
//

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

import (
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"
	v1 "kubevirt.io/api/core/v1"
)

// MockHinter is a mock of Hinter interface.
type MockHinter struct {
	ctrl     *gomock.Controller
	recorder *MockHinterMockRecorder
	isgomock struct{}
}

// MockHinterMockRecorder is the mock recorder for MockHinter.
type MockHinterMockRecorder struct {
	mock *MockHinter
}

// NewMockHinter creates a new mock instance.
func NewMockHinter(ctrl *gomock.Controller) *MockHinter {
	mock := &MockHinter{ctrl: ctrl}
	mock.recorder = &MockHinterMockRecorder{mock}
	return mock
}

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

// IsTscFrequencyRequired mocks base method.
func (m *MockHinter) IsTscFrequencyRequired(vmi *v1.VirtualMachineInstance) bool {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "IsTscFrequencyRequired", vmi)
	ret0, _ := ret[0].(bool)
	return ret0
}

// IsTscFrequencyRequired indicates an expected call of IsTscFrequencyRequired.
func (mr *MockHinterMockRecorder) IsTscFrequencyRequired(vmi any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsTscFrequencyRequired", reflect.TypeOf((*MockHinter)(nil).IsTscFrequencyRequired), vmi)
}

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

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

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

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

// TopologyHintsForVMI mocks base method.
func (m *MockHinter) TopologyHintsForVMI(vmi *v1.VirtualMachineInstance) (*v1.TopologyHints, TscFrequencyRequirementType, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "TopologyHintsForVMI", vmi)
	ret0, _ := ret[0].(*v1.TopologyHints)
	ret1, _ := ret[1].(TscFrequencyRequirementType)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// TopologyHintsForVMI indicates an expected call of TopologyHintsForVMI.
func (mr *MockHinterMockRecorder) TopologyHintsForVMI(vmi any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TopologyHintsForVMI", reflect.TypeOf((*MockHinter)(nil).TopologyHintsForVMI), vmi)
}
