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

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

import (
	context "context"
	reflect "reflect"

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

// MockKubernetesApiClient is a mock of KubernetesApiClient interface.
type MockKubernetesApiClient struct {
	ctrl     *gomock.Controller
	recorder *MockKubernetesApiClientMockRecorder
	isgomock struct{}
}

// MockKubernetesApiClientMockRecorder is the mock recorder for MockKubernetesApiClient.
type MockKubernetesApiClientMockRecorder struct {
	mock *MockKubernetesApiClient
}

// NewMockKubernetesApiClient creates a new mock instance.
func NewMockKubernetesApiClient(ctrl *gomock.Controller) *MockKubernetesApiClient {
	mock := &MockKubernetesApiClient{ctrl: ctrl}
	mock.recorder = &MockKubernetesApiClientMockRecorder{mock}
	return mock
}

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

// MakeRequest mocks base method.
func (m *MockKubernetesApiClient) MakeRequest(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[grpctool.HttpRequest, grpctool.HttpResponse], error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "MakeRequest", varargs...)
	ret0, _ := ret[0].(grpc.BidiStreamingClient[grpctool.HttpRequest, grpctool.HttpResponse])
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

// Return rewrite *gomock.Call.Return
func (c *MockKubernetesApiClientMakeRequestCall) Return(arg0 grpc.BidiStreamingClient[grpctool.HttpRequest, grpctool.HttpResponse], arg1 error) *MockKubernetesApiClientMakeRequestCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockKubernetesApiClientMakeRequestCall) Do(f func(context.Context, ...grpc.CallOption) (grpc.BidiStreamingClient[grpctool.HttpRequest, grpctool.HttpResponse], error)) *MockKubernetesApiClientMakeRequestCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockKubernetesApiClientMakeRequestCall) DoAndReturn(f func(context.Context, ...grpc.CallOption) (grpc.BidiStreamingClient[grpctool.HttpRequest, grpctool.HttpResponse], error)) *MockKubernetesApiClientMakeRequestCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

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

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

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

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

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

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

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

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

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

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

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

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

// MockKubernetesApiServer is a mock of KubernetesApiServer interface.
type MockKubernetesApiServer struct {
	ctrl     *gomock.Controller
	recorder *MockKubernetesApiServerMockRecorder
	isgomock struct{}
}

// MockKubernetesApiServerMockRecorder is the mock recorder for MockKubernetesApiServer.
type MockKubernetesApiServerMockRecorder struct {
	mock *MockKubernetesApiServer
}

// NewMockKubernetesApiServer creates a new mock instance.
func NewMockKubernetesApiServer(ctrl *gomock.Controller) *MockKubernetesApiServer {
	mock := &MockKubernetesApiServer{ctrl: ctrl}
	mock.recorder = &MockKubernetesApiServerMockRecorder{mock}
	return mock
}

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

// MakeRequest mocks base method.
func (m *MockKubernetesApiServer) MakeRequest(arg0 grpc.BidiStreamingServer[grpctool.HttpRequest, grpctool.HttpResponse]) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "MakeRequest", arg0)
	ret0, _ := ret[0].(error)
	return ret0
}

// MakeRequest indicates an expected call of MakeRequest.
func (mr *MockKubernetesApiServerMockRecorder) MakeRequest(arg0 any) *MockKubernetesApiServerMakeRequestCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MakeRequest", reflect.TypeOf((*MockKubernetesApiServer)(nil).MakeRequest), arg0)
	return &MockKubernetesApiServerMakeRequestCall{Call: call}
}

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

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

// Do rewrite *gomock.Call.Do
func (c *MockKubernetesApiServerMakeRequestCall) Do(f func(grpc.BidiStreamingServer[grpctool.HttpRequest, grpctool.HttpResponse]) error) *MockKubernetesApiServerMakeRequestCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockKubernetesApiServerMakeRequestCall) DoAndReturn(f func(grpc.BidiStreamingServer[grpctool.HttpRequest, grpctool.HttpResponse]) error) *MockKubernetesApiServerMakeRequestCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

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

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

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

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

// Do rewrite *gomock.Call.Do
func (c *MockKubernetesApiServerWatchGraphCall) Do(f func(*rpc.WatchGraphRequest, grpc.ServerStreamingServer[rpc.WatchGraphResponse]) error) *MockKubernetesApiServerWatchGraphCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockKubernetesApiServerWatchGraphCall) DoAndReturn(f func(*rpc.WatchGraphRequest, grpc.ServerStreamingServer[rpc.WatchGraphResponse]) error) *MockKubernetesApiServerWatchGraphCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

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

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

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

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

// Do rewrite *gomock.Call.Do
func (c *MockKubernetesApiServerWatchGraphWithRootsCall) Do(f func(*rpc.WatchGraphRequest, grpc.ServerStreamingServer[rpc.WatchGraphResponse]) error) *MockKubernetesApiServerWatchGraphWithRootsCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockKubernetesApiServerWatchGraphWithRootsCall) DoAndReturn(f func(*rpc.WatchGraphRequest, grpc.ServerStreamingServer[rpc.WatchGraphResponse]) error) *MockKubernetesApiServerWatchGraphWithRootsCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

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

// mustEmbedUnimplementedKubernetesApiServer indicates an expected call of mustEmbedUnimplementedKubernetesApiServer.
func (mr *MockKubernetesApiServerMockRecorder) mustEmbedUnimplementedKubernetesApiServer() *MockKubernetesApiServermustEmbedUnimplementedKubernetesApiServerCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "mustEmbedUnimplementedKubernetesApiServer", reflect.TypeOf((*MockKubernetesApiServer)(nil).mustEmbedUnimplementedKubernetesApiServer))
	return &MockKubernetesApiServermustEmbedUnimplementedKubernetesApiServerCall{Call: call}
}

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

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

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

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

// MockUnsafeKubernetesApiServer is a mock of UnsafeKubernetesApiServer interface.
type MockUnsafeKubernetesApiServer struct {
	ctrl     *gomock.Controller
	recorder *MockUnsafeKubernetesApiServerMockRecorder
	isgomock struct{}
}

// MockUnsafeKubernetesApiServerMockRecorder is the mock recorder for MockUnsafeKubernetesApiServer.
type MockUnsafeKubernetesApiServerMockRecorder struct {
	mock *MockUnsafeKubernetesApiServer
}

// NewMockUnsafeKubernetesApiServer creates a new mock instance.
func NewMockUnsafeKubernetesApiServer(ctrl *gomock.Controller) *MockUnsafeKubernetesApiServer {
	mock := &MockUnsafeKubernetesApiServer{ctrl: ctrl}
	mock.recorder = &MockUnsafeKubernetesApiServerMockRecorder{mock}
	return mock
}

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

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

// mustEmbedUnimplementedKubernetesApiServer indicates an expected call of mustEmbedUnimplementedKubernetesApiServer.
func (mr *MockUnsafeKubernetesApiServerMockRecorder) mustEmbedUnimplementedKubernetesApiServer() *MockUnsafeKubernetesApiServermustEmbedUnimplementedKubernetesApiServerCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "mustEmbedUnimplementedKubernetesApiServer", reflect.TypeOf((*MockUnsafeKubernetesApiServer)(nil).mustEmbedUnimplementedKubernetesApiServer))
	return &MockUnsafeKubernetesApiServermustEmbedUnimplementedKubernetesApiServerCall{Call: call}
}

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

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

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

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