// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/confluentinc/cli/v3/pkg/flink/types (interfaces: JSONRpcConn)

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

import (
	context "context"
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	jsonrpc2 "github.com/sourcegraph/jsonrpc2"
)

// MockJSONRpcConn is a mock of JSONRpcConn interface.
type MockJSONRpcConn struct {
	ctrl     *gomock.Controller
	recorder *MockJSONRpcConnMockRecorder
}

// MockJSONRpcConnMockRecorder is the mock recorder for MockJSONRpcConn.
type MockJSONRpcConnMockRecorder struct {
	mock *MockJSONRpcConn
}

// NewMockJSONRpcConn creates a new mock instance.
func NewMockJSONRpcConn(ctrl *gomock.Controller) *MockJSONRpcConn {
	mock := &MockJSONRpcConn{ctrl: ctrl}
	mock.recorder = &MockJSONRpcConnMockRecorder{mock}
	return mock
}

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

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

// Call indicates an expected call of Call.
func (mr *MockJSONRpcConnMockRecorder) Call(arg0, arg1, arg2, arg3 interface{}, arg4 ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{arg0, arg1, arg2, arg3}, arg4...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Call", reflect.TypeOf((*MockJSONRpcConn)(nil).Call), varargs...)
}

// Close mocks base method.
func (m *MockJSONRpcConn) Close() error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Close")
	ret0, _ := ret[0].(error)
	return ret0
}

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

// DisconnectNotify mocks base method.
func (m *MockJSONRpcConn) DisconnectNotify() <-chan struct{} {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DisconnectNotify")
	ret0, _ := ret[0].(<-chan struct{})
	return ret0
}

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

// DispatchCall mocks base method.
func (m *MockJSONRpcConn) DispatchCall(arg0 context.Context, arg1 string, arg2 interface{}, arg3 ...jsonrpc2.CallOption) (jsonrpc2.Waiter, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{arg0, arg1, arg2}
	for _, a := range arg3 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "DispatchCall", varargs...)
	ret0, _ := ret[0].(jsonrpc2.Waiter)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// DispatchCall indicates an expected call of DispatchCall.
func (mr *MockJSONRpcConnMockRecorder) DispatchCall(arg0, arg1, arg2 interface{}, arg3 ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{arg0, arg1, arg2}, arg3...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DispatchCall", reflect.TypeOf((*MockJSONRpcConn)(nil).DispatchCall), varargs...)
}

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

// Notify indicates an expected call of Notify.
func (mr *MockJSONRpcConnMockRecorder) Notify(arg0, arg1, arg2 interface{}, arg3 ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{arg0, arg1, arg2}, arg3...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Notify", reflect.TypeOf((*MockJSONRpcConn)(nil).Notify), varargs...)
}

// ReplyWithError mocks base method.
func (m *MockJSONRpcConn) ReplyWithError(arg0 context.Context, arg1 jsonrpc2.ID, arg2 *jsonrpc2.Error) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ReplyWithError", arg0, arg1, arg2)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// SendResponse mocks base method.
func (m *MockJSONRpcConn) SendResponse(arg0 context.Context, arg1 *jsonrpc2.Response) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SendResponse", arg0, arg1)
	ret0, _ := ret[0].(error)
	return ret0
}

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