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

package remoteconfighandler

import (
	reflect "reflect"

	state "github.com/DataDog/datadog-agent/pkg/remoteconfig/state"
	gomock "github.com/golang/mock/gomock"
)

// MockRemoteClient is a mock of RemoteClient interface.
type MockRemoteClient struct {
	ctrl     *gomock.Controller
	recorder *MockRemoteClientMockRecorder
}

// MockRemoteClientMockRecorder is the mock recorder for MockRemoteClient.
type MockRemoteClientMockRecorder struct {
	mock *MockRemoteClient
}

// NewMockRemoteClient creates a new mock instance.
func NewMockRemoteClient(ctrl *gomock.Controller) *MockRemoteClient {
	mock := &MockRemoteClient{ctrl: ctrl}
	mock.recorder = &MockRemoteClientMockRecorder{mock}
	return mock
}

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

// Close mocks base method.
func (m *MockRemoteClient) Close() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Close")
}

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

// Subscribe mocks base method.
func (m *MockRemoteClient) Subscribe(arg0 string, arg1 func(map[string]state.RawConfig, func(string, state.ApplyStatus))) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Subscribe", arg0, arg1)
}

// Subscribe indicates an expected call of Subscribe.
func (mr *MockRemoteClientMockRecorder) Subscribe(arg0 interface{}, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Subscribe", reflect.TypeOf((*MockRemoteClient)(nil).Subscribe), arg0, arg1)
}

// Start mocks base method.
func (m *MockRemoteClient) Start() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Start")
}

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

// UpdateApplyStatus mocks base method
func (m *MockRemoteClient) UpdateApplyStatus(cfgPath string, status state.ApplyStatus) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "UpdateApplyStatus")
}

// UpdateApplyStatus mocks base method
func (mr *MockRemoteClientMockRecorder) UpdateApplyStatus(arg0 interface{}, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateApplyStatus", reflect.TypeOf((*MockRemoteClient)(nil).UpdateApplyStatus))
}
