// Code generated by MockGen. DO NOT EDIT.
// Source: gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v18/internal/module/event_tracker (interfaces: EventTrackerInterface,EventsInterface)
//
// Generated by this command:
//
//	mockgen -typed -destination api.go gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v18/internal/module/event_tracker EventTrackerInterface,EventsInterface
//

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

import (
	reflect "reflect"

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

// MockEventTrackerInterface is a mock of EventTrackerInterface interface.
type MockEventTrackerInterface struct {
	ctrl     *gomock.Controller
	recorder *MockEventTrackerInterfaceMockRecorder
	isgomock struct{}
}

// MockEventTrackerInterfaceMockRecorder is the mock recorder for MockEventTrackerInterface.
type MockEventTrackerInterfaceMockRecorder struct {
	mock *MockEventTrackerInterface
}

// NewMockEventTrackerInterface creates a new mock instance.
func NewMockEventTrackerInterface(ctrl *gomock.Controller) *MockEventTrackerInterface {
	mock := &MockEventTrackerInterface{ctrl: ctrl}
	mock.recorder = &MockEventTrackerInterfaceMockRecorder{mock}
	return mock
}

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

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

// AccumulatedEvents indicates an expected call of AccumulatedEvents.
func (mr *MockEventTrackerInterfaceMockRecorder) AccumulatedEvents() *MockEventTrackerInterfaceAccumulatedEventsCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AccumulatedEvents", reflect.TypeOf((*MockEventTrackerInterface)(nil).AccumulatedEvents))
	return &MockEventTrackerInterfaceAccumulatedEventsCall{Call: call}
}

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

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

// Do rewrite *gomock.Call.Do
func (c *MockEventTrackerInterfaceAccumulatedEventsCall) Do(f func() int64) *MockEventTrackerInterfaceAccumulatedEventsCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockEventTrackerInterfaceAccumulatedEventsCall) DoAndReturn(f func() int64) *MockEventTrackerInterfaceAccumulatedEventsCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// CloneEventData mocks base method.
func (m *MockEventTrackerInterface) CloneEventData() *event_tracker.EventData {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CloneEventData")
	ret0, _ := ret[0].(*event_tracker.EventData)
	return ret0
}

// CloneEventData indicates an expected call of CloneEventData.
func (mr *MockEventTrackerInterfaceMockRecorder) CloneEventData() *MockEventTrackerInterfaceCloneEventDataCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CloneEventData", reflect.TypeOf((*MockEventTrackerInterface)(nil).CloneEventData))
	return &MockEventTrackerInterfaceCloneEventDataCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockEventTrackerInterfaceCloneEventDataCall) Return(arg0 *event_tracker.EventData) *MockEventTrackerInterfaceCloneEventDataCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockEventTrackerInterfaceCloneEventDataCall) Do(f func() *event_tracker.EventData) *MockEventTrackerInterfaceCloneEventDataCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockEventTrackerInterfaceCloneEventDataCall) DoAndReturn(f func() *event_tracker.EventData) *MockEventTrackerInterfaceCloneEventDataCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// GetEventSizeLimit mocks base method.
func (m *MockEventTrackerInterface) GetEventSizeLimit() <-chan struct{} {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetEventSizeLimit")
	ret0, _ := ret[0].(<-chan struct{})
	return ret0
}

// GetEventSizeLimit indicates an expected call of GetEventSizeLimit.
func (mr *MockEventTrackerInterfaceMockRecorder) GetEventSizeLimit() *MockEventTrackerInterfaceGetEventSizeLimitCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetEventSizeLimit", reflect.TypeOf((*MockEventTrackerInterface)(nil).GetEventSizeLimit))
	return &MockEventTrackerInterfaceGetEventSizeLimitCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockEventTrackerInterfaceGetEventSizeLimitCall) Return(arg0 <-chan struct{}) *MockEventTrackerInterfaceGetEventSizeLimitCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockEventTrackerInterfaceGetEventSizeLimitCall) Do(f func() <-chan struct{}) *MockEventTrackerInterfaceGetEventSizeLimitCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockEventTrackerInterfaceGetEventSizeLimitCall) DoAndReturn(f func() <-chan struct{}) *MockEventTrackerInterfaceGetEventSizeLimitCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

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

// RegisterEvent indicates an expected call of RegisterEvent.
func (mr *MockEventTrackerInterfaceMockRecorder) RegisterEvent(name any) *MockEventTrackerInterfaceRegisterEventCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegisterEvent", reflect.TypeOf((*MockEventTrackerInterface)(nil).RegisterEvent), name)
	return &MockEventTrackerInterfaceRegisterEventCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockEventTrackerInterfaceRegisterEventCall) Return(arg0 event_tracker.EventsInterface) *MockEventTrackerInterfaceRegisterEventCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockEventTrackerInterfaceRegisterEventCall) Do(f func(string) event_tracker.EventsInterface) *MockEventTrackerInterfaceRegisterEventCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockEventTrackerInterfaceRegisterEventCall) DoAndReturn(f func(string) event_tracker.EventsInterface) *MockEventTrackerInterfaceRegisterEventCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// Subtract mocks base method.
func (m *MockEventTrackerInterface) Subtract(arg0 *event_tracker.EventData) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Subtract", arg0)
}

// Subtract indicates an expected call of Subtract.
func (mr *MockEventTrackerInterfaceMockRecorder) Subtract(arg0 any) *MockEventTrackerInterfaceSubtractCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Subtract", reflect.TypeOf((*MockEventTrackerInterface)(nil).Subtract), arg0)
	return &MockEventTrackerInterfaceSubtractCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockEventTrackerInterfaceSubtractCall) Return() *MockEventTrackerInterfaceSubtractCall {
	c.Call = c.Call.Return()
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockEventTrackerInterfaceSubtractCall) Do(f func(*event_tracker.EventData)) *MockEventTrackerInterfaceSubtractCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockEventTrackerInterfaceSubtractCall) DoAndReturn(f func(*event_tracker.EventData)) *MockEventTrackerInterfaceSubtractCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// MockEventsInterface is a mock of EventsInterface interface.
type MockEventsInterface struct {
	ctrl     *gomock.Controller
	recorder *MockEventsInterfaceMockRecorder
	isgomock struct{}
}

// MockEventsInterfaceMockRecorder is the mock recorder for MockEventsInterface.
type MockEventsInterfaceMockRecorder struct {
	mock *MockEventsInterface
}

// NewMockEventsInterface creates a new mock instance.
func NewMockEventsInterface(ctrl *gomock.Controller) *MockEventsInterface {
	mock := &MockEventsInterface{ctrl: ctrl}
	mock.recorder = &MockEventsInterfaceMockRecorder{mock}
	return mock
}

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

// EmitEvent mocks base method.
func (m *MockEventsInterface) EmitEvent(event event_tracker.Event) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "EmitEvent", event)
}

// EmitEvent indicates an expected call of EmitEvent.
func (mr *MockEventsInterfaceMockRecorder) EmitEvent(event any) *MockEventsInterfaceEmitEventCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EmitEvent", reflect.TypeOf((*MockEventsInterface)(nil).EmitEvent), event)
	return &MockEventsInterfaceEmitEventCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockEventsInterfaceEmitEventCall) Return() *MockEventsInterfaceEmitEventCall {
	c.Call = c.Call.Return()
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockEventsInterfaceEmitEventCall) Do(f func(event_tracker.Event)) *MockEventsInterfaceEmitEventCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockEventsInterfaceEmitEventCall) DoAndReturn(f func(event_tracker.Event)) *MockEventsInterfaceEmitEventCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
