// Code generated by MockGen. DO NOT EDIT.
// Source: ../../../module/agent_configuration/rpc/rpc_grpc.pb.go
//
// Generated by this command:
//
//	mockgen -typed -source ../../../module/agent_configuration/rpc/rpc_grpc.pb.go -destination agent_configuration.go -package mock_rpc
//

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

import (
	context "context"
	reflect "reflect"

	rpc "gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v18/internal/module/agent_configuration/rpc"
	gomock "go.uber.org/mock/gomock"
	grpc "google.golang.org/grpc"
)

// MockAgentConfigurationClient is a mock of AgentConfigurationClient interface.
type MockAgentConfigurationClient struct {
	ctrl     *gomock.Controller
	recorder *MockAgentConfigurationClientMockRecorder
	isgomock struct{}
}

// MockAgentConfigurationClientMockRecorder is the mock recorder for MockAgentConfigurationClient.
type MockAgentConfigurationClientMockRecorder struct {
	mock *MockAgentConfigurationClient
}

// NewMockAgentConfigurationClient creates a new mock instance.
func NewMockAgentConfigurationClient(ctrl *gomock.Controller) *MockAgentConfigurationClient {
	mock := &MockAgentConfigurationClient{ctrl: ctrl}
	mock.recorder = &MockAgentConfigurationClientMockRecorder{mock}
	return mock
}

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

// GetConfiguration mocks base method.
func (m *MockAgentConfigurationClient) GetConfiguration(ctx context.Context, in *rpc.ConfigurationRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[rpc.ConfigurationResponse], error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, in}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "GetConfiguration", varargs...)
	ret0, _ := ret[0].(grpc.ServerStreamingClient[rpc.ConfigurationResponse])
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetConfiguration indicates an expected call of GetConfiguration.
func (mr *MockAgentConfigurationClientMockRecorder) GetConfiguration(ctx, in any, opts ...any) *MockAgentConfigurationClientGetConfigurationCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, in}, opts...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetConfiguration", reflect.TypeOf((*MockAgentConfigurationClient)(nil).GetConfiguration), varargs...)
	return &MockAgentConfigurationClientGetConfigurationCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockAgentConfigurationClientGetConfigurationCall) Return(arg0 grpc.ServerStreamingClient[rpc.ConfigurationResponse], arg1 error) *MockAgentConfigurationClientGetConfigurationCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockAgentConfigurationClientGetConfigurationCall) Do(f func(context.Context, *rpc.ConfigurationRequest, ...grpc.CallOption) (grpc.ServerStreamingClient[rpc.ConfigurationResponse], error)) *MockAgentConfigurationClientGetConfigurationCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockAgentConfigurationClientGetConfigurationCall) DoAndReturn(f func(context.Context, *rpc.ConfigurationRequest, ...grpc.CallOption) (grpc.ServerStreamingClient[rpc.ConfigurationResponse], error)) *MockAgentConfigurationClientGetConfigurationCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// MockAgentConfigurationServer is a mock of AgentConfigurationServer interface.
type MockAgentConfigurationServer struct {
	ctrl     *gomock.Controller
	recorder *MockAgentConfigurationServerMockRecorder
	isgomock struct{}
}

// MockAgentConfigurationServerMockRecorder is the mock recorder for MockAgentConfigurationServer.
type MockAgentConfigurationServerMockRecorder struct {
	mock *MockAgentConfigurationServer
}

// NewMockAgentConfigurationServer creates a new mock instance.
func NewMockAgentConfigurationServer(ctrl *gomock.Controller) *MockAgentConfigurationServer {
	mock := &MockAgentConfigurationServer{ctrl: ctrl}
	mock.recorder = &MockAgentConfigurationServerMockRecorder{mock}
	return mock
}

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

// GetConfiguration mocks base method.
func (m *MockAgentConfigurationServer) GetConfiguration(arg0 *rpc.ConfigurationRequest, arg1 grpc.ServerStreamingServer[rpc.ConfigurationResponse]) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetConfiguration", arg0, arg1)
	ret0, _ := ret[0].(error)
	return ret0
}

// GetConfiguration indicates an expected call of GetConfiguration.
func (mr *MockAgentConfigurationServerMockRecorder) GetConfiguration(arg0, arg1 any) *MockAgentConfigurationServerGetConfigurationCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetConfiguration", reflect.TypeOf((*MockAgentConfigurationServer)(nil).GetConfiguration), arg0, arg1)
	return &MockAgentConfigurationServerGetConfigurationCall{Call: call}
}

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

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

// Do rewrite *gomock.Call.Do
func (c *MockAgentConfigurationServerGetConfigurationCall) Do(f func(*rpc.ConfigurationRequest, grpc.ServerStreamingServer[rpc.ConfigurationResponse]) error) *MockAgentConfigurationServerGetConfigurationCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockAgentConfigurationServerGetConfigurationCall) DoAndReturn(f func(*rpc.ConfigurationRequest, grpc.ServerStreamingServer[rpc.ConfigurationResponse]) error) *MockAgentConfigurationServerGetConfigurationCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

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

// mustEmbedUnimplementedAgentConfigurationServer indicates an expected call of mustEmbedUnimplementedAgentConfigurationServer.
func (mr *MockAgentConfigurationServerMockRecorder) mustEmbedUnimplementedAgentConfigurationServer() *MockAgentConfigurationServermustEmbedUnimplementedAgentConfigurationServerCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "mustEmbedUnimplementedAgentConfigurationServer", reflect.TypeOf((*MockAgentConfigurationServer)(nil).mustEmbedUnimplementedAgentConfigurationServer))
	return &MockAgentConfigurationServermustEmbedUnimplementedAgentConfigurationServerCall{Call: call}
}

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

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

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

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

// MockUnsafeAgentConfigurationServer is a mock of UnsafeAgentConfigurationServer interface.
type MockUnsafeAgentConfigurationServer struct {
	ctrl     *gomock.Controller
	recorder *MockUnsafeAgentConfigurationServerMockRecorder
	isgomock struct{}
}

// MockUnsafeAgentConfigurationServerMockRecorder is the mock recorder for MockUnsafeAgentConfigurationServer.
type MockUnsafeAgentConfigurationServerMockRecorder struct {
	mock *MockUnsafeAgentConfigurationServer
}

// NewMockUnsafeAgentConfigurationServer creates a new mock instance.
func NewMockUnsafeAgentConfigurationServer(ctrl *gomock.Controller) *MockUnsafeAgentConfigurationServer {
	mock := &MockUnsafeAgentConfigurationServer{ctrl: ctrl}
	mock.recorder = &MockUnsafeAgentConfigurationServerMockRecorder{mock}
	return mock
}

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

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

// mustEmbedUnimplementedAgentConfigurationServer indicates an expected call of mustEmbedUnimplementedAgentConfigurationServer.
func (mr *MockUnsafeAgentConfigurationServerMockRecorder) mustEmbedUnimplementedAgentConfigurationServer() *MockUnsafeAgentConfigurationServermustEmbedUnimplementedAgentConfigurationServerCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "mustEmbedUnimplementedAgentConfigurationServer", reflect.TypeOf((*MockUnsafeAgentConfigurationServer)(nil).mustEmbedUnimplementedAgentConfigurationServer))
	return &MockUnsafeAgentConfigurationServermustEmbedUnimplementedAgentConfigurationServerCall{Call: call}
}

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

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

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

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