// Code generated by MockGen. DO NOT EDIT.
// Source: gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v18/internal/module/agent_tracker (interfaces: Tracker)
//
// Generated by this command:
//
//	mockgen -typed -destination tracker.go gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v18/internal/module/agent_tracker Tracker
//

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

import (
	context "context"
	iter "iter"
	reflect "reflect"

	agent_tracker "gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v18/internal/module/agent_tracker"
	gomock "go.uber.org/mock/gomock"
)

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

// MockTrackerMockRecorder is the mock recorder for MockTracker.
type MockTrackerMockRecorder struct {
	mock *MockTracker
}

// NewMockTracker creates a new mock instance.
func NewMockTracker(ctrl *gomock.Controller) *MockTracker {
	mock := &MockTracker{ctrl: ctrl}
	mock.recorder = &MockTrackerMockRecorder{mock}
	return mock
}

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

// CountAgentsByAgentVersions mocks base method.
func (m *MockTracker) CountAgentsByAgentVersions(ctx context.Context) (map[string]int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CountAgentsByAgentVersions", ctx)
	ret0, _ := ret[0].(map[string]int64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CountAgentsByAgentVersions indicates an expected call of CountAgentsByAgentVersions.
func (mr *MockTrackerMockRecorder) CountAgentsByAgentVersions(ctx any) *MockTrackerCountAgentsByAgentVersionsCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CountAgentsByAgentVersions", reflect.TypeOf((*MockTracker)(nil).CountAgentsByAgentVersions), ctx)
	return &MockTrackerCountAgentsByAgentVersionsCall{Call: call}
}

// MockTrackerCountAgentsByAgentVersionsCall wrap *gomock.Call
type MockTrackerCountAgentsByAgentVersionsCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockTrackerCountAgentsByAgentVersionsCall) Return(arg0 map[string]int64, arg1 error) *MockTrackerCountAgentsByAgentVersionsCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockTrackerCountAgentsByAgentVersionsCall) Do(f func(context.Context) (map[string]int64, error)) *MockTrackerCountAgentsByAgentVersionsCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockTrackerCountAgentsByAgentVersionsCall) DoAndReturn(f func(context.Context) (map[string]int64, error)) *MockTrackerCountAgentsByAgentVersionsCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// GetAgentkConnectionsByID mocks base method.
func (m *MockTracker) GetAgentkConnectionsByID(ctx context.Context, agentID int64) iter.Seq[*agent_tracker.ConnectedAgentkInfo] {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetAgentkConnectionsByID", ctx, agentID)
	ret0, _ := ret[0].(iter.Seq[*agent_tracker.ConnectedAgentkInfo])
	return ret0
}

// GetAgentkConnectionsByID indicates an expected call of GetAgentkConnectionsByID.
func (mr *MockTrackerMockRecorder) GetAgentkConnectionsByID(ctx, agentID any) *MockTrackerGetAgentkConnectionsByIDCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAgentkConnectionsByID", reflect.TypeOf((*MockTracker)(nil).GetAgentkConnectionsByID), ctx, agentID)
	return &MockTrackerGetAgentkConnectionsByIDCall{Call: call}
}

// MockTrackerGetAgentkConnectionsByIDCall wrap *gomock.Call
type MockTrackerGetAgentkConnectionsByIDCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockTrackerGetAgentkConnectionsByIDCall) Return(arg0 iter.Seq[*agent_tracker.ConnectedAgentkInfo]) *MockTrackerGetAgentkConnectionsByIDCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockTrackerGetAgentkConnectionsByIDCall) Do(f func(context.Context, int64) iter.Seq[*agent_tracker.ConnectedAgentkInfo]) *MockTrackerGetAgentkConnectionsByIDCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockTrackerGetAgentkConnectionsByIDCall) DoAndReturn(f func(context.Context, int64) iter.Seq[*agent_tracker.ConnectedAgentkInfo]) *MockTrackerGetAgentkConnectionsByIDCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// GetAgentwConnectionsByID mocks base method.
func (m *MockTracker) GetAgentwConnectionsByID(ctx context.Context, agentID int64) iter.Seq[*agent_tracker.ConnectedAgentwInfo] {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetAgentwConnectionsByID", ctx, agentID)
	ret0, _ := ret[0].(iter.Seq[*agent_tracker.ConnectedAgentwInfo])
	return ret0
}

// GetAgentwConnectionsByID indicates an expected call of GetAgentwConnectionsByID.
func (mr *MockTrackerMockRecorder) GetAgentwConnectionsByID(ctx, agentID any) *MockTrackerGetAgentwConnectionsByIDCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAgentwConnectionsByID", reflect.TypeOf((*MockTracker)(nil).GetAgentwConnectionsByID), ctx, agentID)
	return &MockTrackerGetAgentwConnectionsByIDCall{Call: call}
}

// MockTrackerGetAgentwConnectionsByIDCall wrap *gomock.Call
type MockTrackerGetAgentwConnectionsByIDCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockTrackerGetAgentwConnectionsByIDCall) Return(arg0 iter.Seq[*agent_tracker.ConnectedAgentwInfo]) *MockTrackerGetAgentwConnectionsByIDCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockTrackerGetAgentwConnectionsByIDCall) Do(f func(context.Context, int64) iter.Seq[*agent_tracker.ConnectedAgentwInfo]) *MockTrackerGetAgentwConnectionsByIDCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockTrackerGetAgentwConnectionsByIDCall) DoAndReturn(f func(context.Context, int64) iter.Seq[*agent_tracker.ConnectedAgentwInfo]) *MockTrackerGetAgentwConnectionsByIDCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

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

// GetConnectedAgentsCount indicates an expected call of GetConnectedAgentsCount.
func (mr *MockTrackerMockRecorder) GetConnectedAgentsCount(ctx any) *MockTrackerGetConnectedAgentsCountCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetConnectedAgentsCount", reflect.TypeOf((*MockTracker)(nil).GetConnectedAgentsCount), ctx)
	return &MockTrackerGetConnectedAgentsCountCall{Call: call}
}

// MockTrackerGetConnectedAgentsCountCall wrap *gomock.Call
type MockTrackerGetConnectedAgentsCountCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockTrackerGetConnectedAgentsCountCall) Return(arg0 int64, arg1 error) *MockTrackerGetConnectedAgentsCountCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockTrackerGetConnectedAgentsCountCall) Do(f func(context.Context) (int64, error)) *MockTrackerGetConnectedAgentsCountCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockTrackerGetConnectedAgentsCountCall) DoAndReturn(f func(context.Context) (int64, error)) *MockTrackerGetConnectedAgentsCountCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// RegisterAgentkExpiring mocks base method.
func (m *MockTracker) RegisterAgentkExpiring(ctx context.Context, info *agent_tracker.ConnectedAgentkInfo) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RegisterAgentkExpiring", ctx, info)
	ret0, _ := ret[0].(error)
	return ret0
}

// RegisterAgentkExpiring indicates an expected call of RegisterAgentkExpiring.
func (mr *MockTrackerMockRecorder) RegisterAgentkExpiring(ctx, info any) *MockTrackerRegisterAgentkExpiringCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegisterAgentkExpiring", reflect.TypeOf((*MockTracker)(nil).RegisterAgentkExpiring), ctx, info)
	return &MockTrackerRegisterAgentkExpiringCall{Call: call}
}

// MockTrackerRegisterAgentkExpiringCall wrap *gomock.Call
type MockTrackerRegisterAgentkExpiringCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockTrackerRegisterAgentkExpiringCall) Return(arg0 error) *MockTrackerRegisterAgentkExpiringCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockTrackerRegisterAgentkExpiringCall) Do(f func(context.Context, *agent_tracker.ConnectedAgentkInfo) error) *MockTrackerRegisterAgentkExpiringCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockTrackerRegisterAgentkExpiringCall) DoAndReturn(f func(context.Context, *agent_tracker.ConnectedAgentkInfo) error) *MockTrackerRegisterAgentkExpiringCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// RegisterAgentwExpiring mocks base method.
func (m *MockTracker) RegisterAgentwExpiring(ctx context.Context, info *agent_tracker.ConnectedAgentwInfo) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RegisterAgentwExpiring", ctx, info)
	ret0, _ := ret[0].(error)
	return ret0
}

// RegisterAgentwExpiring indicates an expected call of RegisterAgentwExpiring.
func (mr *MockTrackerMockRecorder) RegisterAgentwExpiring(ctx, info any) *MockTrackerRegisterAgentwExpiringCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegisterAgentwExpiring", reflect.TypeOf((*MockTracker)(nil).RegisterAgentwExpiring), ctx, info)
	return &MockTrackerRegisterAgentwExpiringCall{Call: call}
}

// MockTrackerRegisterAgentwExpiringCall wrap *gomock.Call
type MockTrackerRegisterAgentwExpiringCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockTrackerRegisterAgentwExpiringCall) Return(arg0 error) *MockTrackerRegisterAgentwExpiringCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockTrackerRegisterAgentwExpiringCall) Do(f func(context.Context, *agent_tracker.ConnectedAgentwInfo) error) *MockTrackerRegisterAgentwExpiringCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockTrackerRegisterAgentwExpiringCall) DoAndReturn(f func(context.Context, *agent_tracker.ConnectedAgentwInfo) error) *MockTrackerRegisterAgentwExpiringCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

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

// Run indicates an expected call of Run.
func (mr *MockTrackerMockRecorder) Run(ctx any) *MockTrackerRunCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Run", reflect.TypeOf((*MockTracker)(nil).Run), ctx)
	return &MockTrackerRunCall{Call: call}
}

// MockTrackerRunCall wrap *gomock.Call
type MockTrackerRunCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockTrackerRunCall) Return(arg0 error) *MockTrackerRunCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockTrackerRunCall) Do(f func(context.Context) error) *MockTrackerRunCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockTrackerRunCall) DoAndReturn(f func(context.Context) error) *MockTrackerRunCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// UnregisterAgentk mocks base method.
func (m *MockTracker) UnregisterAgentk(ctx context.Context, info *agent_tracker.DisconnectAgentkInfo) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UnregisterAgentk", ctx, info)
	ret0, _ := ret[0].(error)
	return ret0
}

// UnregisterAgentk indicates an expected call of UnregisterAgentk.
func (mr *MockTrackerMockRecorder) UnregisterAgentk(ctx, info any) *MockTrackerUnregisterAgentkCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnregisterAgentk", reflect.TypeOf((*MockTracker)(nil).UnregisterAgentk), ctx, info)
	return &MockTrackerUnregisterAgentkCall{Call: call}
}

// MockTrackerUnregisterAgentkCall wrap *gomock.Call
type MockTrackerUnregisterAgentkCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockTrackerUnregisterAgentkCall) Return(arg0 error) *MockTrackerUnregisterAgentkCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockTrackerUnregisterAgentkCall) Do(f func(context.Context, *agent_tracker.DisconnectAgentkInfo) error) *MockTrackerUnregisterAgentkCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockTrackerUnregisterAgentkCall) DoAndReturn(f func(context.Context, *agent_tracker.DisconnectAgentkInfo) error) *MockTrackerUnregisterAgentkCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// UnregisterAgentw mocks base method.
func (m *MockTracker) UnregisterAgentw(ctx context.Context, info *agent_tracker.DisconnectAgentwInfo) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UnregisterAgentw", ctx, info)
	ret0, _ := ret[0].(error)
	return ret0
}

// UnregisterAgentw indicates an expected call of UnregisterAgentw.
func (mr *MockTrackerMockRecorder) UnregisterAgentw(ctx, info any) *MockTrackerUnregisterAgentwCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnregisterAgentw", reflect.TypeOf((*MockTracker)(nil).UnregisterAgentw), ctx, info)
	return &MockTrackerUnregisterAgentwCall{Call: call}
}

// MockTrackerUnregisterAgentwCall wrap *gomock.Call
type MockTrackerUnregisterAgentwCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockTrackerUnregisterAgentwCall) Return(arg0 error) *MockTrackerUnregisterAgentwCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockTrackerUnregisterAgentwCall) Do(f func(context.Context, *agent_tracker.DisconnectAgentwInfo) error) *MockTrackerUnregisterAgentwCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockTrackerUnregisterAgentwCall) DoAndReturn(f func(context.Context, *agent_tracker.DisconnectAgentwInfo) error) *MockTrackerUnregisterAgentwCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
