// Code generated by MockGen. DO NOT EDIT.
// Source: monitor/interfaces.go

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

import (
	context "context"
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	config "go.aporeto.io/enforcerd/trireme-lib/monitor/config"
	registerer "go.aporeto.io/enforcerd/trireme-lib/monitor/registerer"
)

// MockMonitor is a mock of Monitor interface
// nolint
type MockMonitor struct {
	ctrl     *gomock.Controller
	recorder *MockMonitorMockRecorder
}

// MockMonitorMockRecorder is the mock recorder for MockMonitor
// nolint
type MockMonitorMockRecorder struct {
	mock *MockMonitor
}

// NewMockMonitor creates a new mock instance
// nolint
func NewMockMonitor(ctrl *gomock.Controller) *MockMonitor {
	mock := &MockMonitor{ctrl: ctrl}
	mock.recorder = &MockMonitorMockRecorder{mock}
	return mock
}

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

// Run mocks base method
// nolint
func (m *MockMonitor) 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
// nolint
func (mr *MockMonitorMockRecorder) Run(ctx interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Run", reflect.TypeOf((*MockMonitor)(nil).Run), ctx)
}

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

// UpdateConfiguration indicates an expected call of UpdateConfiguration
// nolint
func (mr *MockMonitorMockRecorder) UpdateConfiguration(ctx, config interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateConfiguration", reflect.TypeOf((*MockMonitor)(nil).UpdateConfiguration), ctx, config)
}

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

// Resync indicates an expected call of Resync
// nolint
func (mr *MockMonitorMockRecorder) Resync(ctx interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Resync", reflect.TypeOf((*MockMonitor)(nil).Resync), ctx)
}

// MockImplementation is a mock of Implementation interface
// nolint
type MockImplementation struct {
	ctrl     *gomock.Controller
	recorder *MockImplementationMockRecorder
}

// MockImplementationMockRecorder is the mock recorder for MockImplementation
// nolint
type MockImplementationMockRecorder struct {
	mock *MockImplementation
}

// NewMockImplementation creates a new mock instance
// nolint
func NewMockImplementation(ctrl *gomock.Controller) *MockImplementation {
	mock := &MockImplementation{ctrl: ctrl}
	mock.recorder = &MockImplementationMockRecorder{mock}
	return mock
}

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

// Run mocks base method
// nolint
func (m *MockImplementation) 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
// nolint
func (mr *MockImplementationMockRecorder) Run(ctx interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Run", reflect.TypeOf((*MockImplementation)(nil).Run), ctx)
}

// SetupConfig mocks base method
// nolint
func (m *MockImplementation) SetupConfig(registerer registerer.Registerer, cfg interface{}) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SetupConfig", registerer, cfg)
	ret0, _ := ret[0].(error)
	return ret0
}

// SetupConfig indicates an expected call of SetupConfig
// nolint
func (mr *MockImplementationMockRecorder) SetupConfig(registerer, cfg interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetupConfig", reflect.TypeOf((*MockImplementation)(nil).SetupConfig), registerer, cfg)
}

// SetupHandlers mocks base method
// nolint
func (m *MockImplementation) SetupHandlers(c *config.ProcessorConfig) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetupHandlers", c)
}

// SetupHandlers indicates an expected call of SetupHandlers
// nolint
func (mr *MockImplementationMockRecorder) SetupHandlers(c interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetupHandlers", reflect.TypeOf((*MockImplementation)(nil).SetupHandlers), c)
}

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

// Resync indicates an expected call of Resync
// nolint
func (mr *MockImplementationMockRecorder) Resync(ctx interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Resync", reflect.TypeOf((*MockImplementation)(nil).Resync), ctx)
}
