// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/ava-labs/avalanchego/snow/networking/tracker (interfaces: Tracker)
//
// Generated by this command:
//
//	mockgen -package=trackermock -destination=trackermock/tracker.go -mock_names=Tracker=Tracker . Tracker
//

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

import (
	reflect "reflect"
	time "time"

	ids "github.com/ava-labs/avalanchego/ids"
	gomock "go.uber.org/mock/gomock"
)

// Tracker is a mock of Tracker interface.
type Tracker struct {
	ctrl     *gomock.Controller
	recorder *TrackerMockRecorder
	isgomock struct{}
}

// TrackerMockRecorder is the mock recorder for Tracker.
type TrackerMockRecorder struct {
	mock *Tracker
}

// NewTracker creates a new mock instance.
func NewTracker(ctrl *gomock.Controller) *Tracker {
	mock := &Tracker{ctrl: ctrl}
	mock.recorder = &TrackerMockRecorder{mock}
	return mock
}

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

// TimeUntilUsage mocks base method.
func (m *Tracker) TimeUntilUsage(nodeID ids.NodeID, now time.Time, value float64) time.Duration {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "TimeUntilUsage", nodeID, now, value)
	ret0, _ := ret[0].(time.Duration)
	return ret0
}

// TimeUntilUsage indicates an expected call of TimeUntilUsage.
func (mr *TrackerMockRecorder) TimeUntilUsage(nodeID, now, value any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TimeUntilUsage", reflect.TypeOf((*Tracker)(nil).TimeUntilUsage), nodeID, now, value)
}

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

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

// Usage mocks base method.
func (m *Tracker) Usage(nodeID ids.NodeID, now time.Time) float64 {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Usage", nodeID, now)
	ret0, _ := ret[0].(float64)
	return ret0
}

// Usage indicates an expected call of Usage.
func (mr *TrackerMockRecorder) Usage(nodeID, now any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Usage", reflect.TypeOf((*Tracker)(nil).Usage), nodeID, now)
}
