// Code generated by MockGen. DO NOT EDIT.
// Source: google.golang.org/grpc (interfaces: ClientConnInterface)
//
// Generated by this command:
//
//	mockgen -destination grpc_client_conn_interface_mock.go --typed -package mock -write_package_comment=false google.golang.org/grpc ClientConnInterface
package mock

import (
	context "context"
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"
	grpc "google.golang.org/grpc"
)

// MockClientConnInterface is a mock of ClientConnInterface interface.
type MockClientConnInterface struct {
	ctrl     *gomock.Controller
	recorder *MockClientConnInterfaceMockRecorder
}

// MockClientConnInterfaceMockRecorder is the mock recorder for MockClientConnInterface.
type MockClientConnInterfaceMockRecorder struct {
	mock *MockClientConnInterface
}

// NewMockClientConnInterface creates a new mock instance.
func NewMockClientConnInterface(ctrl *gomock.Controller) *MockClientConnInterface {
	mock := &MockClientConnInterface{ctrl: ctrl}
	mock.recorder = &MockClientConnInterfaceMockRecorder{mock}
	return mock
}

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

// Invoke mocks base method.
func (m *MockClientConnInterface) Invoke(arg0 context.Context, arg1 string, arg2, arg3 any, arg4 ...grpc.CallOption) error {
	m.ctrl.T.Helper()
	varargs := []any{arg0, arg1, arg2, arg3}
	for _, a := range arg4 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "Invoke", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// Invoke indicates an expected call of Invoke.
func (mr *MockClientConnInterfaceMockRecorder) Invoke(arg0, arg1, arg2, arg3 any, arg4 ...any) *MockClientConnInterfaceInvokeCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{arg0, arg1, arg2, arg3}, arg4...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Invoke", reflect.TypeOf((*MockClientConnInterface)(nil).Invoke), varargs...)
	return &MockClientConnInterfaceInvokeCall{Call: call}
}

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

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

// Do rewrite *gomock.Call.Do
func (c *MockClientConnInterfaceInvokeCall) Do(f func(context.Context, string, any, any, ...grpc.CallOption) error) *MockClientConnInterfaceInvokeCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockClientConnInterfaceInvokeCall) DoAndReturn(f func(context.Context, string, any, any, ...grpc.CallOption) error) *MockClientConnInterfaceInvokeCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// NewStream mocks base method.
func (m *MockClientConnInterface) NewStream(arg0 context.Context, arg1 *grpc.StreamDesc, arg2 string, arg3 ...grpc.CallOption) (grpc.ClientStream, error) {
	m.ctrl.T.Helper()
	varargs := []any{arg0, arg1, arg2}
	for _, a := range arg3 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "NewStream", varargs...)
	ret0, _ := ret[0].(grpc.ClientStream)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// NewStream indicates an expected call of NewStream.
func (mr *MockClientConnInterfaceMockRecorder) NewStream(arg0, arg1, arg2 any, arg3 ...any) *MockClientConnInterfaceNewStreamCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{arg0, arg1, arg2}, arg3...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewStream", reflect.TypeOf((*MockClientConnInterface)(nil).NewStream), varargs...)
	return &MockClientConnInterfaceNewStreamCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockClientConnInterfaceNewStreamCall) Return(arg0 grpc.ClientStream, arg1 error) *MockClientConnInterfaceNewStreamCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockClientConnInterfaceNewStreamCall) Do(f func(context.Context, *grpc.StreamDesc, string, ...grpc.CallOption) (grpc.ClientStream, error)) *MockClientConnInterfaceNewStreamCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockClientConnInterfaceNewStreamCall) DoAndReturn(f func(context.Context, *grpc.StreamDesc, string, ...grpc.CallOption) (grpc.ClientStream, error)) *MockClientConnInterfaceNewStreamCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
