// Code generated by mockery; DO NOT EDIT.
// github.com/vektra/mockery
// template: testify
// Copyright (c) Abstract Machines

// SPDX-License-Identifier: Apache-2.0

package mocks

import (
	"context"

	v10 "github.com/absmach/supermq/api/grpc/clients/v1"
	"github.com/absmach/supermq/api/grpc/common/v1"
	mock "github.com/stretchr/testify/mock"
	"google.golang.org/grpc"
)

// NewClientsServiceClient creates a new instance of ClientsServiceClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
// The first argument is typically a *testing.T value.
func NewClientsServiceClient(t interface {
	mock.TestingT
	Cleanup(func())
}) *ClientsServiceClient {
	mock := &ClientsServiceClient{}
	mock.Mock.Test(t)

	t.Cleanup(func() { mock.AssertExpectations(t) })

	return mock
}

// ClientsServiceClient is an autogenerated mock type for the ClientsServiceClient type
type ClientsServiceClient struct {
	mock.Mock
}

type ClientsServiceClient_Expecter struct {
	mock *mock.Mock
}

func (_m *ClientsServiceClient) EXPECT() *ClientsServiceClient_Expecter {
	return &ClientsServiceClient_Expecter{mock: &_m.Mock}
}

// AddConnections provides a mock function for the type ClientsServiceClient
func (_mock *ClientsServiceClient) AddConnections(ctx context.Context, in *v1.AddConnectionsReq, opts ...grpc.CallOption) (*v1.AddConnectionsRes, error) {
	var tmpRet mock.Arguments
	if len(opts) > 0 {
		tmpRet = _mock.Called(ctx, in, opts)
	} else {
		tmpRet = _mock.Called(ctx, in)
	}
	ret := tmpRet

	if len(ret) == 0 {
		panic("no return value specified for AddConnections")
	}

	var r0 *v1.AddConnectionsRes
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *v1.AddConnectionsReq, ...grpc.CallOption) (*v1.AddConnectionsRes, error)); ok {
		return returnFunc(ctx, in, opts...)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *v1.AddConnectionsReq, ...grpc.CallOption) *v1.AddConnectionsRes); ok {
		r0 = returnFunc(ctx, in, opts...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*v1.AddConnectionsRes)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *v1.AddConnectionsReq, ...grpc.CallOption) error); ok {
		r1 = returnFunc(ctx, in, opts...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

// ClientsServiceClient_AddConnections_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'AddConnections'
type ClientsServiceClient_AddConnections_Call struct {
	*mock.Call
}

// AddConnections is a helper method to define mock.On call
//   - ctx context.Context
//   - in *v1.AddConnectionsReq
//   - opts ...grpc.CallOption
func (_e *ClientsServiceClient_Expecter) AddConnections(ctx interface{}, in interface{}, opts ...interface{}) *ClientsServiceClient_AddConnections_Call {
	return &ClientsServiceClient_AddConnections_Call{Call: _e.mock.On("AddConnections",
		append([]interface{}{ctx, in}, opts...)...)}
}

func (_c *ClientsServiceClient_AddConnections_Call) Run(run func(ctx context.Context, in *v1.AddConnectionsReq, opts ...grpc.CallOption)) *ClientsServiceClient_AddConnections_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 *v1.AddConnectionsReq
		if args[1] != nil {
			arg1 = args[1].(*v1.AddConnectionsReq)
		}
		var arg2 []grpc.CallOption
		var variadicArgs []grpc.CallOption
		if len(args) > 2 {
			variadicArgs = args[2].([]grpc.CallOption)
		}
		arg2 = variadicArgs
		run(
			arg0,
			arg1,
			arg2...,
		)
	})
	return _c
}

func (_c *ClientsServiceClient_AddConnections_Call) Return(addConnectionsRes *v1.AddConnectionsRes, err error) *ClientsServiceClient_AddConnections_Call {
	_c.Call.Return(addConnectionsRes, err)
	return _c
}

func (_c *ClientsServiceClient_AddConnections_Call) RunAndReturn(run func(ctx context.Context, in *v1.AddConnectionsReq, opts ...grpc.CallOption) (*v1.AddConnectionsRes, error)) *ClientsServiceClient_AddConnections_Call {
	_c.Call.Return(run)
	return _c
}

// Authenticate provides a mock function for the type ClientsServiceClient
func (_mock *ClientsServiceClient) Authenticate(ctx context.Context, in *v10.AuthnReq, opts ...grpc.CallOption) (*v10.AuthnRes, error) {
	var tmpRet mock.Arguments
	if len(opts) > 0 {
		tmpRet = _mock.Called(ctx, in, opts)
	} else {
		tmpRet = _mock.Called(ctx, in)
	}
	ret := tmpRet

	if len(ret) == 0 {
		panic("no return value specified for Authenticate")
	}

	var r0 *v10.AuthnRes
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *v10.AuthnReq, ...grpc.CallOption) (*v10.AuthnRes, error)); ok {
		return returnFunc(ctx, in, opts...)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *v10.AuthnReq, ...grpc.CallOption) *v10.AuthnRes); ok {
		r0 = returnFunc(ctx, in, opts...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*v10.AuthnRes)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *v10.AuthnReq, ...grpc.CallOption) error); ok {
		r1 = returnFunc(ctx, in, opts...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

// ClientsServiceClient_Authenticate_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Authenticate'
type ClientsServiceClient_Authenticate_Call struct {
	*mock.Call
}

// Authenticate is a helper method to define mock.On call
//   - ctx context.Context
//   - in *v10.AuthnReq
//   - opts ...grpc.CallOption
func (_e *ClientsServiceClient_Expecter) Authenticate(ctx interface{}, in interface{}, opts ...interface{}) *ClientsServiceClient_Authenticate_Call {
	return &ClientsServiceClient_Authenticate_Call{Call: _e.mock.On("Authenticate",
		append([]interface{}{ctx, in}, opts...)...)}
}

func (_c *ClientsServiceClient_Authenticate_Call) Run(run func(ctx context.Context, in *v10.AuthnReq, opts ...grpc.CallOption)) *ClientsServiceClient_Authenticate_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 *v10.AuthnReq
		if args[1] != nil {
			arg1 = args[1].(*v10.AuthnReq)
		}
		var arg2 []grpc.CallOption
		var variadicArgs []grpc.CallOption
		if len(args) > 2 {
			variadicArgs = args[2].([]grpc.CallOption)
		}
		arg2 = variadicArgs
		run(
			arg0,
			arg1,
			arg2...,
		)
	})
	return _c
}

func (_c *ClientsServiceClient_Authenticate_Call) Return(authnRes *v10.AuthnRes, err error) *ClientsServiceClient_Authenticate_Call {
	_c.Call.Return(authnRes, err)
	return _c
}

func (_c *ClientsServiceClient_Authenticate_Call) RunAndReturn(run func(ctx context.Context, in *v10.AuthnReq, opts ...grpc.CallOption) (*v10.AuthnRes, error)) *ClientsServiceClient_Authenticate_Call {
	_c.Call.Return(run)
	return _c
}

// RemoveChannelConnections provides a mock function for the type ClientsServiceClient
func (_mock *ClientsServiceClient) RemoveChannelConnections(ctx context.Context, in *v10.RemoveChannelConnectionsReq, opts ...grpc.CallOption) (*v10.RemoveChannelConnectionsRes, error) {
	var tmpRet mock.Arguments
	if len(opts) > 0 {
		tmpRet = _mock.Called(ctx, in, opts)
	} else {
		tmpRet = _mock.Called(ctx, in)
	}
	ret := tmpRet

	if len(ret) == 0 {
		panic("no return value specified for RemoveChannelConnections")
	}

	var r0 *v10.RemoveChannelConnectionsRes
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *v10.RemoveChannelConnectionsReq, ...grpc.CallOption) (*v10.RemoveChannelConnectionsRes, error)); ok {
		return returnFunc(ctx, in, opts...)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *v10.RemoveChannelConnectionsReq, ...grpc.CallOption) *v10.RemoveChannelConnectionsRes); ok {
		r0 = returnFunc(ctx, in, opts...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*v10.RemoveChannelConnectionsRes)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *v10.RemoveChannelConnectionsReq, ...grpc.CallOption) error); ok {
		r1 = returnFunc(ctx, in, opts...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

// ClientsServiceClient_RemoveChannelConnections_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'RemoveChannelConnections'
type ClientsServiceClient_RemoveChannelConnections_Call struct {
	*mock.Call
}

// RemoveChannelConnections is a helper method to define mock.On call
//   - ctx context.Context
//   - in *v10.RemoveChannelConnectionsReq
//   - opts ...grpc.CallOption
func (_e *ClientsServiceClient_Expecter) RemoveChannelConnections(ctx interface{}, in interface{}, opts ...interface{}) *ClientsServiceClient_RemoveChannelConnections_Call {
	return &ClientsServiceClient_RemoveChannelConnections_Call{Call: _e.mock.On("RemoveChannelConnections",
		append([]interface{}{ctx, in}, opts...)...)}
}

func (_c *ClientsServiceClient_RemoveChannelConnections_Call) Run(run func(ctx context.Context, in *v10.RemoveChannelConnectionsReq, opts ...grpc.CallOption)) *ClientsServiceClient_RemoveChannelConnections_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 *v10.RemoveChannelConnectionsReq
		if args[1] != nil {
			arg1 = args[1].(*v10.RemoveChannelConnectionsReq)
		}
		var arg2 []grpc.CallOption
		var variadicArgs []grpc.CallOption
		if len(args) > 2 {
			variadicArgs = args[2].([]grpc.CallOption)
		}
		arg2 = variadicArgs
		run(
			arg0,
			arg1,
			arg2...,
		)
	})
	return _c
}

func (_c *ClientsServiceClient_RemoveChannelConnections_Call) Return(removeChannelConnectionsRes *v10.RemoveChannelConnectionsRes, err error) *ClientsServiceClient_RemoveChannelConnections_Call {
	_c.Call.Return(removeChannelConnectionsRes, err)
	return _c
}

func (_c *ClientsServiceClient_RemoveChannelConnections_Call) RunAndReturn(run func(ctx context.Context, in *v10.RemoveChannelConnectionsReq, opts ...grpc.CallOption) (*v10.RemoveChannelConnectionsRes, error)) *ClientsServiceClient_RemoveChannelConnections_Call {
	_c.Call.Return(run)
	return _c
}

// RemoveConnections provides a mock function for the type ClientsServiceClient
func (_mock *ClientsServiceClient) RemoveConnections(ctx context.Context, in *v1.RemoveConnectionsReq, opts ...grpc.CallOption) (*v1.RemoveConnectionsRes, error) {
	var tmpRet mock.Arguments
	if len(opts) > 0 {
		tmpRet = _mock.Called(ctx, in, opts)
	} else {
		tmpRet = _mock.Called(ctx, in)
	}
	ret := tmpRet

	if len(ret) == 0 {
		panic("no return value specified for RemoveConnections")
	}

	var r0 *v1.RemoveConnectionsRes
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *v1.RemoveConnectionsReq, ...grpc.CallOption) (*v1.RemoveConnectionsRes, error)); ok {
		return returnFunc(ctx, in, opts...)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *v1.RemoveConnectionsReq, ...grpc.CallOption) *v1.RemoveConnectionsRes); ok {
		r0 = returnFunc(ctx, in, opts...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*v1.RemoveConnectionsRes)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *v1.RemoveConnectionsReq, ...grpc.CallOption) error); ok {
		r1 = returnFunc(ctx, in, opts...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

// ClientsServiceClient_RemoveConnections_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'RemoveConnections'
type ClientsServiceClient_RemoveConnections_Call struct {
	*mock.Call
}

// RemoveConnections is a helper method to define mock.On call
//   - ctx context.Context
//   - in *v1.RemoveConnectionsReq
//   - opts ...grpc.CallOption
func (_e *ClientsServiceClient_Expecter) RemoveConnections(ctx interface{}, in interface{}, opts ...interface{}) *ClientsServiceClient_RemoveConnections_Call {
	return &ClientsServiceClient_RemoveConnections_Call{Call: _e.mock.On("RemoveConnections",
		append([]interface{}{ctx, in}, opts...)...)}
}

func (_c *ClientsServiceClient_RemoveConnections_Call) Run(run func(ctx context.Context, in *v1.RemoveConnectionsReq, opts ...grpc.CallOption)) *ClientsServiceClient_RemoveConnections_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 *v1.RemoveConnectionsReq
		if args[1] != nil {
			arg1 = args[1].(*v1.RemoveConnectionsReq)
		}
		var arg2 []grpc.CallOption
		var variadicArgs []grpc.CallOption
		if len(args) > 2 {
			variadicArgs = args[2].([]grpc.CallOption)
		}
		arg2 = variadicArgs
		run(
			arg0,
			arg1,
			arg2...,
		)
	})
	return _c
}

func (_c *ClientsServiceClient_RemoveConnections_Call) Return(removeConnectionsRes *v1.RemoveConnectionsRes, err error) *ClientsServiceClient_RemoveConnections_Call {
	_c.Call.Return(removeConnectionsRes, err)
	return _c
}

func (_c *ClientsServiceClient_RemoveConnections_Call) RunAndReturn(run func(ctx context.Context, in *v1.RemoveConnectionsReq, opts ...grpc.CallOption) (*v1.RemoveConnectionsRes, error)) *ClientsServiceClient_RemoveConnections_Call {
	_c.Call.Return(run)
	return _c
}

// RetrieveEntities provides a mock function for the type ClientsServiceClient
func (_mock *ClientsServiceClient) RetrieveEntities(ctx context.Context, in *v1.RetrieveEntitiesReq, opts ...grpc.CallOption) (*v1.RetrieveEntitiesRes, error) {
	var tmpRet mock.Arguments
	if len(opts) > 0 {
		tmpRet = _mock.Called(ctx, in, opts)
	} else {
		tmpRet = _mock.Called(ctx, in)
	}
	ret := tmpRet

	if len(ret) == 0 {
		panic("no return value specified for RetrieveEntities")
	}

	var r0 *v1.RetrieveEntitiesRes
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *v1.RetrieveEntitiesReq, ...grpc.CallOption) (*v1.RetrieveEntitiesRes, error)); ok {
		return returnFunc(ctx, in, opts...)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *v1.RetrieveEntitiesReq, ...grpc.CallOption) *v1.RetrieveEntitiesRes); ok {
		r0 = returnFunc(ctx, in, opts...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*v1.RetrieveEntitiesRes)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *v1.RetrieveEntitiesReq, ...grpc.CallOption) error); ok {
		r1 = returnFunc(ctx, in, opts...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

// ClientsServiceClient_RetrieveEntities_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'RetrieveEntities'
type ClientsServiceClient_RetrieveEntities_Call struct {
	*mock.Call
}

// RetrieveEntities is a helper method to define mock.On call
//   - ctx context.Context
//   - in *v1.RetrieveEntitiesReq
//   - opts ...grpc.CallOption
func (_e *ClientsServiceClient_Expecter) RetrieveEntities(ctx interface{}, in interface{}, opts ...interface{}) *ClientsServiceClient_RetrieveEntities_Call {
	return &ClientsServiceClient_RetrieveEntities_Call{Call: _e.mock.On("RetrieveEntities",
		append([]interface{}{ctx, in}, opts...)...)}
}

func (_c *ClientsServiceClient_RetrieveEntities_Call) Run(run func(ctx context.Context, in *v1.RetrieveEntitiesReq, opts ...grpc.CallOption)) *ClientsServiceClient_RetrieveEntities_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 *v1.RetrieveEntitiesReq
		if args[1] != nil {
			arg1 = args[1].(*v1.RetrieveEntitiesReq)
		}
		var arg2 []grpc.CallOption
		var variadicArgs []grpc.CallOption
		if len(args) > 2 {
			variadicArgs = args[2].([]grpc.CallOption)
		}
		arg2 = variadicArgs
		run(
			arg0,
			arg1,
			arg2...,
		)
	})
	return _c
}

func (_c *ClientsServiceClient_RetrieveEntities_Call) Return(retrieveEntitiesRes *v1.RetrieveEntitiesRes, err error) *ClientsServiceClient_RetrieveEntities_Call {
	_c.Call.Return(retrieveEntitiesRes, err)
	return _c
}

func (_c *ClientsServiceClient_RetrieveEntities_Call) RunAndReturn(run func(ctx context.Context, in *v1.RetrieveEntitiesReq, opts ...grpc.CallOption) (*v1.RetrieveEntitiesRes, error)) *ClientsServiceClient_RetrieveEntities_Call {
	_c.Call.Return(run)
	return _c
}

// RetrieveEntity provides a mock function for the type ClientsServiceClient
func (_mock *ClientsServiceClient) RetrieveEntity(ctx context.Context, in *v1.RetrieveEntityReq, opts ...grpc.CallOption) (*v1.RetrieveEntityRes, error) {
	var tmpRet mock.Arguments
	if len(opts) > 0 {
		tmpRet = _mock.Called(ctx, in, opts)
	} else {
		tmpRet = _mock.Called(ctx, in)
	}
	ret := tmpRet

	if len(ret) == 0 {
		panic("no return value specified for RetrieveEntity")
	}

	var r0 *v1.RetrieveEntityRes
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *v1.RetrieveEntityReq, ...grpc.CallOption) (*v1.RetrieveEntityRes, error)); ok {
		return returnFunc(ctx, in, opts...)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *v1.RetrieveEntityReq, ...grpc.CallOption) *v1.RetrieveEntityRes); ok {
		r0 = returnFunc(ctx, in, opts...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*v1.RetrieveEntityRes)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *v1.RetrieveEntityReq, ...grpc.CallOption) error); ok {
		r1 = returnFunc(ctx, in, opts...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

// ClientsServiceClient_RetrieveEntity_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'RetrieveEntity'
type ClientsServiceClient_RetrieveEntity_Call struct {
	*mock.Call
}

// RetrieveEntity is a helper method to define mock.On call
//   - ctx context.Context
//   - in *v1.RetrieveEntityReq
//   - opts ...grpc.CallOption
func (_e *ClientsServiceClient_Expecter) RetrieveEntity(ctx interface{}, in interface{}, opts ...interface{}) *ClientsServiceClient_RetrieveEntity_Call {
	return &ClientsServiceClient_RetrieveEntity_Call{Call: _e.mock.On("RetrieveEntity",
		append([]interface{}{ctx, in}, opts...)...)}
}

func (_c *ClientsServiceClient_RetrieveEntity_Call) Run(run func(ctx context.Context, in *v1.RetrieveEntityReq, opts ...grpc.CallOption)) *ClientsServiceClient_RetrieveEntity_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 *v1.RetrieveEntityReq
		if args[1] != nil {
			arg1 = args[1].(*v1.RetrieveEntityReq)
		}
		var arg2 []grpc.CallOption
		var variadicArgs []grpc.CallOption
		if len(args) > 2 {
			variadicArgs = args[2].([]grpc.CallOption)
		}
		arg2 = variadicArgs
		run(
			arg0,
			arg1,
			arg2...,
		)
	})
	return _c
}

func (_c *ClientsServiceClient_RetrieveEntity_Call) Return(retrieveEntityRes *v1.RetrieveEntityRes, err error) *ClientsServiceClient_RetrieveEntity_Call {
	_c.Call.Return(retrieveEntityRes, err)
	return _c
}

func (_c *ClientsServiceClient_RetrieveEntity_Call) RunAndReturn(run func(ctx context.Context, in *v1.RetrieveEntityReq, opts ...grpc.CallOption) (*v1.RetrieveEntityRes, error)) *ClientsServiceClient_RetrieveEntity_Call {
	_c.Call.Return(run)
	return _c
}

// UnsetParentGroupFromClient provides a mock function for the type ClientsServiceClient
func (_mock *ClientsServiceClient) UnsetParentGroupFromClient(ctx context.Context, in *v10.UnsetParentGroupFromClientReq, opts ...grpc.CallOption) (*v10.UnsetParentGroupFromClientRes, error) {
	var tmpRet mock.Arguments
	if len(opts) > 0 {
		tmpRet = _mock.Called(ctx, in, opts)
	} else {
		tmpRet = _mock.Called(ctx, in)
	}
	ret := tmpRet

	if len(ret) == 0 {
		panic("no return value specified for UnsetParentGroupFromClient")
	}

	var r0 *v10.UnsetParentGroupFromClientRes
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *v10.UnsetParentGroupFromClientReq, ...grpc.CallOption) (*v10.UnsetParentGroupFromClientRes, error)); ok {
		return returnFunc(ctx, in, opts...)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *v10.UnsetParentGroupFromClientReq, ...grpc.CallOption) *v10.UnsetParentGroupFromClientRes); ok {
		r0 = returnFunc(ctx, in, opts...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*v10.UnsetParentGroupFromClientRes)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *v10.UnsetParentGroupFromClientReq, ...grpc.CallOption) error); ok {
		r1 = returnFunc(ctx, in, opts...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

// ClientsServiceClient_UnsetParentGroupFromClient_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'UnsetParentGroupFromClient'
type ClientsServiceClient_UnsetParentGroupFromClient_Call struct {
	*mock.Call
}

// UnsetParentGroupFromClient is a helper method to define mock.On call
//   - ctx context.Context
//   - in *v10.UnsetParentGroupFromClientReq
//   - opts ...grpc.CallOption
func (_e *ClientsServiceClient_Expecter) UnsetParentGroupFromClient(ctx interface{}, in interface{}, opts ...interface{}) *ClientsServiceClient_UnsetParentGroupFromClient_Call {
	return &ClientsServiceClient_UnsetParentGroupFromClient_Call{Call: _e.mock.On("UnsetParentGroupFromClient",
		append([]interface{}{ctx, in}, opts...)...)}
}

func (_c *ClientsServiceClient_UnsetParentGroupFromClient_Call) Run(run func(ctx context.Context, in *v10.UnsetParentGroupFromClientReq, opts ...grpc.CallOption)) *ClientsServiceClient_UnsetParentGroupFromClient_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 *v10.UnsetParentGroupFromClientReq
		if args[1] != nil {
			arg1 = args[1].(*v10.UnsetParentGroupFromClientReq)
		}
		var arg2 []grpc.CallOption
		var variadicArgs []grpc.CallOption
		if len(args) > 2 {
			variadicArgs = args[2].([]grpc.CallOption)
		}
		arg2 = variadicArgs
		run(
			arg0,
			arg1,
			arg2...,
		)
	})
	return _c
}

func (_c *ClientsServiceClient_UnsetParentGroupFromClient_Call) Return(unsetParentGroupFromClientRes *v10.UnsetParentGroupFromClientRes, err error) *ClientsServiceClient_UnsetParentGroupFromClient_Call {
	_c.Call.Return(unsetParentGroupFromClientRes, err)
	return _c
}

func (_c *ClientsServiceClient_UnsetParentGroupFromClient_Call) RunAndReturn(run func(ctx context.Context, in *v10.UnsetParentGroupFromClientReq, opts ...grpc.CallOption) (*v10.UnsetParentGroupFromClientRes, error)) *ClientsServiceClient_UnsetParentGroupFromClient_Call {
	_c.Call.Return(run)
	return _c
}
