// Code generated by mockery; DO NOT EDIT.
// github.com/vektra/mockery
// template: testify

package clientmocks

import (
	"context"

	mock "github.com/stretchr/testify/mock"
	"go.temporal.io/api/enums/v1"
	"go.temporal.io/api/operatorservice/v1"
	"go.temporal.io/api/workflowservice/v1"
	"go.temporal.io/sdk/client"
	"go.temporal.io/sdk/converter"
)

// NewMockWorkflowRun creates a new instance of MockWorkflowRun. 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 NewMockWorkflowRun(t interface {
	mock.TestingT
	Cleanup(func())
}) *MockWorkflowRun {
	mock := &MockWorkflowRun{}
	mock.Mock.Test(t)

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

	return mock
}

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

type MockWorkflowRun_Expecter struct {
	mock *mock.Mock
}

func (_m *MockWorkflowRun) EXPECT() *MockWorkflowRun_Expecter {
	return &MockWorkflowRun_Expecter{mock: &_m.Mock}
}

// Get provides a mock function for the type MockWorkflowRun
func (_mock *MockWorkflowRun) Get(ctx context.Context, valuePtr interface{}) error {
	ret := _mock.Called(ctx, valuePtr)

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

	var r0 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, interface{}) error); ok {
		r0 = returnFunc(ctx, valuePtr)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}

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

// Get is a helper method to define mock.On call
//   - ctx context.Context
//   - valuePtr interface{}
func (_e *MockWorkflowRun_Expecter) Get(ctx interface{}, valuePtr interface{}) *MockWorkflowRun_Get_Call {
	return &MockWorkflowRun_Get_Call{Call: _e.mock.On("Get", ctx, valuePtr)}
}

func (_c *MockWorkflowRun_Get_Call) Run(run func(ctx context.Context, valuePtr interface{})) *MockWorkflowRun_Get_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 interface{}
		if args[1] != nil {
			arg1 = args[1].(interface{})
		}
		run(
			arg0,
			arg1,
		)
	})
	return _c
}

func (_c *MockWorkflowRun_Get_Call) Return(err error) *MockWorkflowRun_Get_Call {
	_c.Call.Return(err)
	return _c
}

func (_c *MockWorkflowRun_Get_Call) RunAndReturn(run func(ctx context.Context, valuePtr interface{}) error) *MockWorkflowRun_Get_Call {
	_c.Call.Return(run)
	return _c
}

// GetID provides a mock function for the type MockWorkflowRun
func (_mock *MockWorkflowRun) GetID() string {
	ret := _mock.Called()

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

	var r0 string
	if returnFunc, ok := ret.Get(0).(func() string); ok {
		r0 = returnFunc()
	} else {
		r0 = ret.Get(0).(string)
	}
	return r0
}

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

// GetID is a helper method to define mock.On call
func (_e *MockWorkflowRun_Expecter) GetID() *MockWorkflowRun_GetID_Call {
	return &MockWorkflowRun_GetID_Call{Call: _e.mock.On("GetID")}
}

func (_c *MockWorkflowRun_GetID_Call) Run(run func()) *MockWorkflowRun_GetID_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockWorkflowRun_GetID_Call) Return(s string) *MockWorkflowRun_GetID_Call {
	_c.Call.Return(s)
	return _c
}

func (_c *MockWorkflowRun_GetID_Call) RunAndReturn(run func() string) *MockWorkflowRun_GetID_Call {
	_c.Call.Return(run)
	return _c
}

// GetRunID provides a mock function for the type MockWorkflowRun
func (_mock *MockWorkflowRun) GetRunID() string {
	ret := _mock.Called()

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

	var r0 string
	if returnFunc, ok := ret.Get(0).(func() string); ok {
		r0 = returnFunc()
	} else {
		r0 = ret.Get(0).(string)
	}
	return r0
}

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

// GetRunID is a helper method to define mock.On call
func (_e *MockWorkflowRun_Expecter) GetRunID() *MockWorkflowRun_GetRunID_Call {
	return &MockWorkflowRun_GetRunID_Call{Call: _e.mock.On("GetRunID")}
}

func (_c *MockWorkflowRun_GetRunID_Call) Run(run func()) *MockWorkflowRun_GetRunID_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockWorkflowRun_GetRunID_Call) Return(s string) *MockWorkflowRun_GetRunID_Call {
	_c.Call.Return(s)
	return _c
}

func (_c *MockWorkflowRun_GetRunID_Call) RunAndReturn(run func() string) *MockWorkflowRun_GetRunID_Call {
	_c.Call.Return(run)
	return _c
}

// GetWithOptions provides a mock function for the type MockWorkflowRun
func (_mock *MockWorkflowRun) GetWithOptions(ctx context.Context, valuePtr interface{}, options client.WorkflowRunGetOptions) error {
	ret := _mock.Called(ctx, valuePtr, options)

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

	var r0 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, interface{}, client.WorkflowRunGetOptions) error); ok {
		r0 = returnFunc(ctx, valuePtr, options)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}

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

// GetWithOptions is a helper method to define mock.On call
//   - ctx context.Context
//   - valuePtr interface{}
//   - options client.WorkflowRunGetOptions
func (_e *MockWorkflowRun_Expecter) GetWithOptions(ctx interface{}, valuePtr interface{}, options interface{}) *MockWorkflowRun_GetWithOptions_Call {
	return &MockWorkflowRun_GetWithOptions_Call{Call: _e.mock.On("GetWithOptions", ctx, valuePtr, options)}
}

func (_c *MockWorkflowRun_GetWithOptions_Call) Run(run func(ctx context.Context, valuePtr interface{}, options client.WorkflowRunGetOptions)) *MockWorkflowRun_GetWithOptions_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 interface{}
		if args[1] != nil {
			arg1 = args[1].(interface{})
		}
		var arg2 client.WorkflowRunGetOptions
		if args[2] != nil {
			arg2 = args[2].(client.WorkflowRunGetOptions)
		}
		run(
			arg0,
			arg1,
			arg2,
		)
	})
	return _c
}

func (_c *MockWorkflowRun_GetWithOptions_Call) Return(err error) *MockWorkflowRun_GetWithOptions_Call {
	_c.Call.Return(err)
	return _c
}

func (_c *MockWorkflowRun_GetWithOptions_Call) RunAndReturn(run func(ctx context.Context, valuePtr interface{}, options client.WorkflowRunGetOptions) error) *MockWorkflowRun_GetWithOptions_Call {
	_c.Call.Return(run)
	return _c
}

// NewMockClient creates a new instance of MockClient. 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 NewMockClient(t interface {
	mock.TestingT
	Cleanup(func())
}) *MockClient {
	mock := &MockClient{}
	mock.Mock.Test(t)

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

	return mock
}

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

type MockClient_Expecter struct {
	mock *mock.Mock
}

func (_m *MockClient) EXPECT() *MockClient_Expecter {
	return &MockClient_Expecter{mock: &_m.Mock}
}

// CancelWorkflow provides a mock function for the type MockClient
func (_mock *MockClient) CancelWorkflow(ctx context.Context, workflowID string, runID string) error {
	ret := _mock.Called(ctx, workflowID, runID)

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

	var r0 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, string, string) error); ok {
		r0 = returnFunc(ctx, workflowID, runID)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}

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

// CancelWorkflow is a helper method to define mock.On call
//   - ctx context.Context
//   - workflowID string
//   - runID string
func (_e *MockClient_Expecter) CancelWorkflow(ctx interface{}, workflowID interface{}, runID interface{}) *MockClient_CancelWorkflow_Call {
	return &MockClient_CancelWorkflow_Call{Call: _e.mock.On("CancelWorkflow", ctx, workflowID, runID)}
}

func (_c *MockClient_CancelWorkflow_Call) Run(run func(ctx context.Context, workflowID string, runID string)) *MockClient_CancelWorkflow_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 string
		if args[1] != nil {
			arg1 = args[1].(string)
		}
		var arg2 string
		if args[2] != nil {
			arg2 = args[2].(string)
		}
		run(
			arg0,
			arg1,
			arg2,
		)
	})
	return _c
}

func (_c *MockClient_CancelWorkflow_Call) Return(err error) *MockClient_CancelWorkflow_Call {
	_c.Call.Return(err)
	return _c
}

func (_c *MockClient_CancelWorkflow_Call) RunAndReturn(run func(ctx context.Context, workflowID string, runID string) error) *MockClient_CancelWorkflow_Call {
	_c.Call.Return(run)
	return _c
}

// CheckHealth provides a mock function for the type MockClient
func (_mock *MockClient) CheckHealth(ctx context.Context, request *client.CheckHealthRequest) (*client.CheckHealthResponse, error) {
	ret := _mock.Called(ctx, request)

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

	var r0 *client.CheckHealthResponse
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *client.CheckHealthRequest) (*client.CheckHealthResponse, error)); ok {
		return returnFunc(ctx, request)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *client.CheckHealthRequest) *client.CheckHealthResponse); ok {
		r0 = returnFunc(ctx, request)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*client.CheckHealthResponse)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *client.CheckHealthRequest) error); ok {
		r1 = returnFunc(ctx, request)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// CheckHealth is a helper method to define mock.On call
//   - ctx context.Context
//   - request *client.CheckHealthRequest
func (_e *MockClient_Expecter) CheckHealth(ctx interface{}, request interface{}) *MockClient_CheckHealth_Call {
	return &MockClient_CheckHealth_Call{Call: _e.mock.On("CheckHealth", ctx, request)}
}

func (_c *MockClient_CheckHealth_Call) Run(run func(ctx context.Context, request *client.CheckHealthRequest)) *MockClient_CheckHealth_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 *client.CheckHealthRequest
		if args[1] != nil {
			arg1 = args[1].(*client.CheckHealthRequest)
		}
		run(
			arg0,
			arg1,
		)
	})
	return _c
}

func (_c *MockClient_CheckHealth_Call) Return(v *client.CheckHealthResponse, err error) *MockClient_CheckHealth_Call {
	_c.Call.Return(v, err)
	return _c
}

func (_c *MockClient_CheckHealth_Call) RunAndReturn(run func(ctx context.Context, request *client.CheckHealthRequest) (*client.CheckHealthResponse, error)) *MockClient_CheckHealth_Call {
	_c.Call.Return(run)
	return _c
}

// Close provides a mock function for the type MockClient
func (_mock *MockClient) Close() {
	_mock.Called()
	return
}

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

// Close is a helper method to define mock.On call
func (_e *MockClient_Expecter) Close() *MockClient_Close_Call {
	return &MockClient_Close_Call{Call: _e.mock.On("Close")}
}

func (_c *MockClient_Close_Call) Run(run func()) *MockClient_Close_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockClient_Close_Call) Return() *MockClient_Close_Call {
	_c.Call.Return()
	return _c
}

func (_c *MockClient_Close_Call) RunAndReturn(run func()) *MockClient_Close_Call {
	_c.Run(run)
	return _c
}

// CompleteActivity provides a mock function for the type MockClient
func (_mock *MockClient) CompleteActivity(ctx context.Context, taskToken []byte, result interface{}, err error) error {
	ret := _mock.Called(ctx, taskToken, result, err)

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

	var r0 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, []byte, interface{}, error) error); ok {
		r0 = returnFunc(ctx, taskToken, result, err)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}

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

// CompleteActivity is a helper method to define mock.On call
//   - ctx context.Context
//   - taskToken []byte
//   - result interface{}
//   - err error
func (_e *MockClient_Expecter) CompleteActivity(ctx interface{}, taskToken interface{}, result interface{}, err interface{}) *MockClient_CompleteActivity_Call {
	return &MockClient_CompleteActivity_Call{Call: _e.mock.On("CompleteActivity", ctx, taskToken, result, err)}
}

func (_c *MockClient_CompleteActivity_Call) Run(run func(ctx context.Context, taskToken []byte, result interface{}, err error)) *MockClient_CompleteActivity_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 []byte
		if args[1] != nil {
			arg1 = args[1].([]byte)
		}
		var arg2 interface{}
		if args[2] != nil {
			arg2 = args[2].(interface{})
		}
		var arg3 error
		if args[3] != nil {
			arg3 = args[3].(error)
		}
		run(
			arg0,
			arg1,
			arg2,
			arg3,
		)
	})
	return _c
}

func (_c *MockClient_CompleteActivity_Call) Return(err1 error) *MockClient_CompleteActivity_Call {
	_c.Call.Return(err1)
	return _c
}

func (_c *MockClient_CompleteActivity_Call) RunAndReturn(run func(ctx context.Context, taskToken []byte, result interface{}, err error) error) *MockClient_CompleteActivity_Call {
	_c.Call.Return(run)
	return _c
}

// CompleteActivityByID provides a mock function for the type MockClient
func (_mock *MockClient) CompleteActivityByID(ctx context.Context, namespace string, workflowID string, runID string, activityID string, result interface{}, err error) error {
	ret := _mock.Called(ctx, namespace, workflowID, runID, activityID, result, err)

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

	var r0 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, string, string, string, string, interface{}, error) error); ok {
		r0 = returnFunc(ctx, namespace, workflowID, runID, activityID, result, err)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}

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

// CompleteActivityByID is a helper method to define mock.On call
//   - ctx context.Context
//   - namespace string
//   - workflowID string
//   - runID string
//   - activityID string
//   - result interface{}
//   - err error
func (_e *MockClient_Expecter) CompleteActivityByID(ctx interface{}, namespace interface{}, workflowID interface{}, runID interface{}, activityID interface{}, result interface{}, err interface{}) *MockClient_CompleteActivityByID_Call {
	return &MockClient_CompleteActivityByID_Call{Call: _e.mock.On("CompleteActivityByID", ctx, namespace, workflowID, runID, activityID, result, err)}
}

func (_c *MockClient_CompleteActivityByID_Call) Run(run func(ctx context.Context, namespace string, workflowID string, runID string, activityID string, result interface{}, err error)) *MockClient_CompleteActivityByID_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 string
		if args[1] != nil {
			arg1 = args[1].(string)
		}
		var arg2 string
		if args[2] != nil {
			arg2 = args[2].(string)
		}
		var arg3 string
		if args[3] != nil {
			arg3 = args[3].(string)
		}
		var arg4 string
		if args[4] != nil {
			arg4 = args[4].(string)
		}
		var arg5 interface{}
		if args[5] != nil {
			arg5 = args[5].(interface{})
		}
		var arg6 error
		if args[6] != nil {
			arg6 = args[6].(error)
		}
		run(
			arg0,
			arg1,
			arg2,
			arg3,
			arg4,
			arg5,
			arg6,
		)
	})
	return _c
}

func (_c *MockClient_CompleteActivityByID_Call) Return(err1 error) *MockClient_CompleteActivityByID_Call {
	_c.Call.Return(err1)
	return _c
}

func (_c *MockClient_CompleteActivityByID_Call) RunAndReturn(run func(ctx context.Context, namespace string, workflowID string, runID string, activityID string, result interface{}, err error) error) *MockClient_CompleteActivityByID_Call {
	_c.Call.Return(run)
	return _c
}

// CountWorkflow provides a mock function for the type MockClient
func (_mock *MockClient) CountWorkflow(ctx context.Context, request *workflowservice.CountWorkflowExecutionsRequest) (*workflowservice.CountWorkflowExecutionsResponse, error) {
	ret := _mock.Called(ctx, request)

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

	var r0 *workflowservice.CountWorkflowExecutionsResponse
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *workflowservice.CountWorkflowExecutionsRequest) (*workflowservice.CountWorkflowExecutionsResponse, error)); ok {
		return returnFunc(ctx, request)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *workflowservice.CountWorkflowExecutionsRequest) *workflowservice.CountWorkflowExecutionsResponse); ok {
		r0 = returnFunc(ctx, request)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*workflowservice.CountWorkflowExecutionsResponse)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *workflowservice.CountWorkflowExecutionsRequest) error); ok {
		r1 = returnFunc(ctx, request)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// CountWorkflow is a helper method to define mock.On call
//   - ctx context.Context
//   - request *workflowservice.CountWorkflowExecutionsRequest
func (_e *MockClient_Expecter) CountWorkflow(ctx interface{}, request interface{}) *MockClient_CountWorkflow_Call {
	return &MockClient_CountWorkflow_Call{Call: _e.mock.On("CountWorkflow", ctx, request)}
}

func (_c *MockClient_CountWorkflow_Call) Run(run func(ctx context.Context, request *workflowservice.CountWorkflowExecutionsRequest)) *MockClient_CountWorkflow_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 *workflowservice.CountWorkflowExecutionsRequest
		if args[1] != nil {
			arg1 = args[1].(*workflowservice.CountWorkflowExecutionsRequest)
		}
		run(
			arg0,
			arg1,
		)
	})
	return _c
}

func (_c *MockClient_CountWorkflow_Call) Return(countWorkflowExecutionsResponse *workflowservice.CountWorkflowExecutionsResponse, err error) *MockClient_CountWorkflow_Call {
	_c.Call.Return(countWorkflowExecutionsResponse, err)
	return _c
}

func (_c *MockClient_CountWorkflow_Call) RunAndReturn(run func(ctx context.Context, request *workflowservice.CountWorkflowExecutionsRequest) (*workflowservice.CountWorkflowExecutionsResponse, error)) *MockClient_CountWorkflow_Call {
	_c.Call.Return(run)
	return _c
}

// DeploymentClient provides a mock function for the type MockClient
func (_mock *MockClient) DeploymentClient() client.DeploymentClient {
	ret := _mock.Called()

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

	var r0 client.DeploymentClient
	if returnFunc, ok := ret.Get(0).(func() client.DeploymentClient); ok {
		r0 = returnFunc()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(client.DeploymentClient)
		}
	}
	return r0
}

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

// DeploymentClient is a helper method to define mock.On call
func (_e *MockClient_Expecter) DeploymentClient() *MockClient_DeploymentClient_Call {
	return &MockClient_DeploymentClient_Call{Call: _e.mock.On("DeploymentClient")}
}

func (_c *MockClient_DeploymentClient_Call) Run(run func()) *MockClient_DeploymentClient_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockClient_DeploymentClient_Call) Return(v client.DeploymentClient) *MockClient_DeploymentClient_Call {
	_c.Call.Return(v)
	return _c
}

func (_c *MockClient_DeploymentClient_Call) RunAndReturn(run func() client.DeploymentClient) *MockClient_DeploymentClient_Call {
	_c.Call.Return(run)
	return _c
}

// DescribeTaskQueue provides a mock function for the type MockClient
func (_mock *MockClient) DescribeTaskQueue(ctx context.Context, taskqueue string, taskqueueType enums.TaskQueueType) (*workflowservice.DescribeTaskQueueResponse, error) {
	ret := _mock.Called(ctx, taskqueue, taskqueueType)

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

	var r0 *workflowservice.DescribeTaskQueueResponse
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, string, enums.TaskQueueType) (*workflowservice.DescribeTaskQueueResponse, error)); ok {
		return returnFunc(ctx, taskqueue, taskqueueType)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, string, enums.TaskQueueType) *workflowservice.DescribeTaskQueueResponse); ok {
		r0 = returnFunc(ctx, taskqueue, taskqueueType)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*workflowservice.DescribeTaskQueueResponse)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, string, enums.TaskQueueType) error); ok {
		r1 = returnFunc(ctx, taskqueue, taskqueueType)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// DescribeTaskQueue is a helper method to define mock.On call
//   - ctx context.Context
//   - taskqueue string
//   - taskqueueType enums.TaskQueueType
func (_e *MockClient_Expecter) DescribeTaskQueue(ctx interface{}, taskqueue interface{}, taskqueueType interface{}) *MockClient_DescribeTaskQueue_Call {
	return &MockClient_DescribeTaskQueue_Call{Call: _e.mock.On("DescribeTaskQueue", ctx, taskqueue, taskqueueType)}
}

func (_c *MockClient_DescribeTaskQueue_Call) Run(run func(ctx context.Context, taskqueue string, taskqueueType enums.TaskQueueType)) *MockClient_DescribeTaskQueue_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 string
		if args[1] != nil {
			arg1 = args[1].(string)
		}
		var arg2 enums.TaskQueueType
		if args[2] != nil {
			arg2 = args[2].(enums.TaskQueueType)
		}
		run(
			arg0,
			arg1,
			arg2,
		)
	})
	return _c
}

func (_c *MockClient_DescribeTaskQueue_Call) Return(describeTaskQueueResponse *workflowservice.DescribeTaskQueueResponse, err error) *MockClient_DescribeTaskQueue_Call {
	_c.Call.Return(describeTaskQueueResponse, err)
	return _c
}

func (_c *MockClient_DescribeTaskQueue_Call) RunAndReturn(run func(ctx context.Context, taskqueue string, taskqueueType enums.TaskQueueType) (*workflowservice.DescribeTaskQueueResponse, error)) *MockClient_DescribeTaskQueue_Call {
	_c.Call.Return(run)
	return _c
}

// DescribeTaskQueueEnhanced provides a mock function for the type MockClient
func (_mock *MockClient) DescribeTaskQueueEnhanced(ctx context.Context, options client.DescribeTaskQueueEnhancedOptions) (client.TaskQueueDescription, error) {
	ret := _mock.Called(ctx, options)

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

	var r0 client.TaskQueueDescription
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, client.DescribeTaskQueueEnhancedOptions) (client.TaskQueueDescription, error)); ok {
		return returnFunc(ctx, options)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, client.DescribeTaskQueueEnhancedOptions) client.TaskQueueDescription); ok {
		r0 = returnFunc(ctx, options)
	} else {
		r0 = ret.Get(0).(client.TaskQueueDescription)
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, client.DescribeTaskQueueEnhancedOptions) error); ok {
		r1 = returnFunc(ctx, options)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// DescribeTaskQueueEnhanced is a helper method to define mock.On call
//   - ctx context.Context
//   - options client.DescribeTaskQueueEnhancedOptions
func (_e *MockClient_Expecter) DescribeTaskQueueEnhanced(ctx interface{}, options interface{}) *MockClient_DescribeTaskQueueEnhanced_Call {
	return &MockClient_DescribeTaskQueueEnhanced_Call{Call: _e.mock.On("DescribeTaskQueueEnhanced", ctx, options)}
}

func (_c *MockClient_DescribeTaskQueueEnhanced_Call) Run(run func(ctx context.Context, options client.DescribeTaskQueueEnhancedOptions)) *MockClient_DescribeTaskQueueEnhanced_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 client.DescribeTaskQueueEnhancedOptions
		if args[1] != nil {
			arg1 = args[1].(client.DescribeTaskQueueEnhancedOptions)
		}
		run(
			arg0,
			arg1,
		)
	})
	return _c
}

func (_c *MockClient_DescribeTaskQueueEnhanced_Call) Return(v client.TaskQueueDescription, err error) *MockClient_DescribeTaskQueueEnhanced_Call {
	_c.Call.Return(v, err)
	return _c
}

func (_c *MockClient_DescribeTaskQueueEnhanced_Call) RunAndReturn(run func(ctx context.Context, options client.DescribeTaskQueueEnhancedOptions) (client.TaskQueueDescription, error)) *MockClient_DescribeTaskQueueEnhanced_Call {
	_c.Call.Return(run)
	return _c
}

// DescribeWorkflowExecution provides a mock function for the type MockClient
func (_mock *MockClient) DescribeWorkflowExecution(ctx context.Context, workflowID string, runID string) (*workflowservice.DescribeWorkflowExecutionResponse, error) {
	ret := _mock.Called(ctx, workflowID, runID)

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

	var r0 *workflowservice.DescribeWorkflowExecutionResponse
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, string, string) (*workflowservice.DescribeWorkflowExecutionResponse, error)); ok {
		return returnFunc(ctx, workflowID, runID)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, string, string) *workflowservice.DescribeWorkflowExecutionResponse); ok {
		r0 = returnFunc(ctx, workflowID, runID)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*workflowservice.DescribeWorkflowExecutionResponse)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, string, string) error); ok {
		r1 = returnFunc(ctx, workflowID, runID)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// DescribeWorkflowExecution is a helper method to define mock.On call
//   - ctx context.Context
//   - workflowID string
//   - runID string
func (_e *MockClient_Expecter) DescribeWorkflowExecution(ctx interface{}, workflowID interface{}, runID interface{}) *MockClient_DescribeWorkflowExecution_Call {
	return &MockClient_DescribeWorkflowExecution_Call{Call: _e.mock.On("DescribeWorkflowExecution", ctx, workflowID, runID)}
}

func (_c *MockClient_DescribeWorkflowExecution_Call) Run(run func(ctx context.Context, workflowID string, runID string)) *MockClient_DescribeWorkflowExecution_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 string
		if args[1] != nil {
			arg1 = args[1].(string)
		}
		var arg2 string
		if args[2] != nil {
			arg2 = args[2].(string)
		}
		run(
			arg0,
			arg1,
			arg2,
		)
	})
	return _c
}

func (_c *MockClient_DescribeWorkflowExecution_Call) Return(describeWorkflowExecutionResponse *workflowservice.DescribeWorkflowExecutionResponse, err error) *MockClient_DescribeWorkflowExecution_Call {
	_c.Call.Return(describeWorkflowExecutionResponse, err)
	return _c
}

func (_c *MockClient_DescribeWorkflowExecution_Call) RunAndReturn(run func(ctx context.Context, workflowID string, runID string) (*workflowservice.DescribeWorkflowExecutionResponse, error)) *MockClient_DescribeWorkflowExecution_Call {
	_c.Call.Return(run)
	return _c
}

// ExecuteWorkflow provides a mock function for the type MockClient
func (_mock *MockClient) ExecuteWorkflow(ctx context.Context, options client.StartWorkflowOptions, workflow interface{}, args ...interface{}) (client.WorkflowRun, error) {
	var _ca []interface{}
	_ca = append(_ca, ctx, options, workflow)
	_ca = append(_ca, args...)
	ret := _mock.Called(_ca...)

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

	var r0 client.WorkflowRun
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, client.StartWorkflowOptions, interface{}, ...interface{}) (client.WorkflowRun, error)); ok {
		return returnFunc(ctx, options, workflow, args...)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, client.StartWorkflowOptions, interface{}, ...interface{}) client.WorkflowRun); ok {
		r0 = returnFunc(ctx, options, workflow, args...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(client.WorkflowRun)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, client.StartWorkflowOptions, interface{}, ...interface{}) error); ok {
		r1 = returnFunc(ctx, options, workflow, args...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// ExecuteWorkflow is a helper method to define mock.On call
//   - ctx context.Context
//   - options client.StartWorkflowOptions
//   - workflow interface{}
//   - args ...interface{}
func (_e *MockClient_Expecter) ExecuteWorkflow(ctx interface{}, options interface{}, workflow interface{}, args ...interface{}) *MockClient_ExecuteWorkflow_Call {
	return &MockClient_ExecuteWorkflow_Call{Call: _e.mock.On("ExecuteWorkflow",
		append([]interface{}{ctx, options, workflow}, args...)...)}
}

func (_c *MockClient_ExecuteWorkflow_Call) Run(run func(ctx context.Context, options client.StartWorkflowOptions, workflow interface{}, args ...interface{})) *MockClient_ExecuteWorkflow_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 client.StartWorkflowOptions
		if args[1] != nil {
			arg1 = args[1].(client.StartWorkflowOptions)
		}
		var arg2 interface{}
		if args[2] != nil {
			arg2 = args[2].(interface{})
		}
		var arg3 []interface{}
		variadicArgs := make([]interface{}, len(args)-3)
		for i, a := range args[3:] {
			if a != nil {
				variadicArgs[i] = a.(interface{})
			}
		}
		arg3 = variadicArgs
		run(
			arg0,
			arg1,
			arg2,
			arg3...,
		)
	})
	return _c
}

func (_c *MockClient_ExecuteWorkflow_Call) Return(v client.WorkflowRun, err error) *MockClient_ExecuteWorkflow_Call {
	_c.Call.Return(v, err)
	return _c
}

func (_c *MockClient_ExecuteWorkflow_Call) RunAndReturn(run func(ctx context.Context, options client.StartWorkflowOptions, workflow interface{}, args ...interface{}) (client.WorkflowRun, error)) *MockClient_ExecuteWorkflow_Call {
	_c.Call.Return(run)
	return _c
}

// GetSearchAttributes provides a mock function for the type MockClient
func (_mock *MockClient) GetSearchAttributes(ctx context.Context) (*workflowservice.GetSearchAttributesResponse, error) {
	ret := _mock.Called(ctx)

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

	var r0 *workflowservice.GetSearchAttributesResponse
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context) (*workflowservice.GetSearchAttributesResponse, error)); ok {
		return returnFunc(ctx)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context) *workflowservice.GetSearchAttributesResponse); ok {
		r0 = returnFunc(ctx)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*workflowservice.GetSearchAttributesResponse)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context) error); ok {
		r1 = returnFunc(ctx)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// GetSearchAttributes is a helper method to define mock.On call
//   - ctx context.Context
func (_e *MockClient_Expecter) GetSearchAttributes(ctx interface{}) *MockClient_GetSearchAttributes_Call {
	return &MockClient_GetSearchAttributes_Call{Call: _e.mock.On("GetSearchAttributes", ctx)}
}

func (_c *MockClient_GetSearchAttributes_Call) Run(run func(ctx context.Context)) *MockClient_GetSearchAttributes_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		run(
			arg0,
		)
	})
	return _c
}

func (_c *MockClient_GetSearchAttributes_Call) Return(getSearchAttributesResponse *workflowservice.GetSearchAttributesResponse, err error) *MockClient_GetSearchAttributes_Call {
	_c.Call.Return(getSearchAttributesResponse, err)
	return _c
}

func (_c *MockClient_GetSearchAttributes_Call) RunAndReturn(run func(ctx context.Context) (*workflowservice.GetSearchAttributesResponse, error)) *MockClient_GetSearchAttributes_Call {
	_c.Call.Return(run)
	return _c
}

// GetWorkerBuildIdCompatibility provides a mock function for the type MockClient
func (_mock *MockClient) GetWorkerBuildIdCompatibility(ctx context.Context, options *client.GetWorkerBuildIdCompatibilityOptions) (*client.WorkerBuildIDVersionSets, error) {
	ret := _mock.Called(ctx, options)

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

	var r0 *client.WorkerBuildIDVersionSets
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *client.GetWorkerBuildIdCompatibilityOptions) (*client.WorkerBuildIDVersionSets, error)); ok {
		return returnFunc(ctx, options)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *client.GetWorkerBuildIdCompatibilityOptions) *client.WorkerBuildIDVersionSets); ok {
		r0 = returnFunc(ctx, options)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*client.WorkerBuildIDVersionSets)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *client.GetWorkerBuildIdCompatibilityOptions) error); ok {
		r1 = returnFunc(ctx, options)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// GetWorkerBuildIdCompatibility is a helper method to define mock.On call
//   - ctx context.Context
//   - options *client.GetWorkerBuildIdCompatibilityOptions
func (_e *MockClient_Expecter) GetWorkerBuildIdCompatibility(ctx interface{}, options interface{}) *MockClient_GetWorkerBuildIdCompatibility_Call {
	return &MockClient_GetWorkerBuildIdCompatibility_Call{Call: _e.mock.On("GetWorkerBuildIdCompatibility", ctx, options)}
}

func (_c *MockClient_GetWorkerBuildIdCompatibility_Call) Run(run func(ctx context.Context, options *client.GetWorkerBuildIdCompatibilityOptions)) *MockClient_GetWorkerBuildIdCompatibility_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 *client.GetWorkerBuildIdCompatibilityOptions
		if args[1] != nil {
			arg1 = args[1].(*client.GetWorkerBuildIdCompatibilityOptions)
		}
		run(
			arg0,
			arg1,
		)
	})
	return _c
}

func (_c *MockClient_GetWorkerBuildIdCompatibility_Call) Return(v *client.WorkerBuildIDVersionSets, err error) *MockClient_GetWorkerBuildIdCompatibility_Call {
	_c.Call.Return(v, err)
	return _c
}

func (_c *MockClient_GetWorkerBuildIdCompatibility_Call) RunAndReturn(run func(ctx context.Context, options *client.GetWorkerBuildIdCompatibilityOptions) (*client.WorkerBuildIDVersionSets, error)) *MockClient_GetWorkerBuildIdCompatibility_Call {
	_c.Call.Return(run)
	return _c
}

// GetWorkerTaskReachability provides a mock function for the type MockClient
func (_mock *MockClient) GetWorkerTaskReachability(ctx context.Context, options *client.GetWorkerTaskReachabilityOptions) (*client.WorkerTaskReachability, error) {
	ret := _mock.Called(ctx, options)

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

	var r0 *client.WorkerTaskReachability
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *client.GetWorkerTaskReachabilityOptions) (*client.WorkerTaskReachability, error)); ok {
		return returnFunc(ctx, options)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *client.GetWorkerTaskReachabilityOptions) *client.WorkerTaskReachability); ok {
		r0 = returnFunc(ctx, options)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*client.WorkerTaskReachability)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *client.GetWorkerTaskReachabilityOptions) error); ok {
		r1 = returnFunc(ctx, options)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// GetWorkerTaskReachability is a helper method to define mock.On call
//   - ctx context.Context
//   - options *client.GetWorkerTaskReachabilityOptions
func (_e *MockClient_Expecter) GetWorkerTaskReachability(ctx interface{}, options interface{}) *MockClient_GetWorkerTaskReachability_Call {
	return &MockClient_GetWorkerTaskReachability_Call{Call: _e.mock.On("GetWorkerTaskReachability", ctx, options)}
}

func (_c *MockClient_GetWorkerTaskReachability_Call) Run(run func(ctx context.Context, options *client.GetWorkerTaskReachabilityOptions)) *MockClient_GetWorkerTaskReachability_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 *client.GetWorkerTaskReachabilityOptions
		if args[1] != nil {
			arg1 = args[1].(*client.GetWorkerTaskReachabilityOptions)
		}
		run(
			arg0,
			arg1,
		)
	})
	return _c
}

func (_c *MockClient_GetWorkerTaskReachability_Call) Return(v *client.WorkerTaskReachability, err error) *MockClient_GetWorkerTaskReachability_Call {
	_c.Call.Return(v, err)
	return _c
}

func (_c *MockClient_GetWorkerTaskReachability_Call) RunAndReturn(run func(ctx context.Context, options *client.GetWorkerTaskReachabilityOptions) (*client.WorkerTaskReachability, error)) *MockClient_GetWorkerTaskReachability_Call {
	_c.Call.Return(run)
	return _c
}

// GetWorkerVersioningRules provides a mock function for the type MockClient
func (_mock *MockClient) GetWorkerVersioningRules(ctx context.Context, options client.GetWorkerVersioningOptions) (*client.WorkerVersioningRules, error) {
	ret := _mock.Called(ctx, options)

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

	var r0 *client.WorkerVersioningRules
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, client.GetWorkerVersioningOptions) (*client.WorkerVersioningRules, error)); ok {
		return returnFunc(ctx, options)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, client.GetWorkerVersioningOptions) *client.WorkerVersioningRules); ok {
		r0 = returnFunc(ctx, options)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*client.WorkerVersioningRules)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, client.GetWorkerVersioningOptions) error); ok {
		r1 = returnFunc(ctx, options)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// GetWorkerVersioningRules is a helper method to define mock.On call
//   - ctx context.Context
//   - options client.GetWorkerVersioningOptions
func (_e *MockClient_Expecter) GetWorkerVersioningRules(ctx interface{}, options interface{}) *MockClient_GetWorkerVersioningRules_Call {
	return &MockClient_GetWorkerVersioningRules_Call{Call: _e.mock.On("GetWorkerVersioningRules", ctx, options)}
}

func (_c *MockClient_GetWorkerVersioningRules_Call) Run(run func(ctx context.Context, options client.GetWorkerVersioningOptions)) *MockClient_GetWorkerVersioningRules_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 client.GetWorkerVersioningOptions
		if args[1] != nil {
			arg1 = args[1].(client.GetWorkerVersioningOptions)
		}
		run(
			arg0,
			arg1,
		)
	})
	return _c
}

func (_c *MockClient_GetWorkerVersioningRules_Call) Return(v *client.WorkerVersioningRules, err error) *MockClient_GetWorkerVersioningRules_Call {
	_c.Call.Return(v, err)
	return _c
}

func (_c *MockClient_GetWorkerVersioningRules_Call) RunAndReturn(run func(ctx context.Context, options client.GetWorkerVersioningOptions) (*client.WorkerVersioningRules, error)) *MockClient_GetWorkerVersioningRules_Call {
	_c.Call.Return(run)
	return _c
}

// GetWorkflow provides a mock function for the type MockClient
func (_mock *MockClient) GetWorkflow(ctx context.Context, workflowID string, runID string) client.WorkflowRun {
	ret := _mock.Called(ctx, workflowID, runID)

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

	var r0 client.WorkflowRun
	if returnFunc, ok := ret.Get(0).(func(context.Context, string, string) client.WorkflowRun); ok {
		r0 = returnFunc(ctx, workflowID, runID)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(client.WorkflowRun)
		}
	}
	return r0
}

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

// GetWorkflow is a helper method to define mock.On call
//   - ctx context.Context
//   - workflowID string
//   - runID string
func (_e *MockClient_Expecter) GetWorkflow(ctx interface{}, workflowID interface{}, runID interface{}) *MockClient_GetWorkflow_Call {
	return &MockClient_GetWorkflow_Call{Call: _e.mock.On("GetWorkflow", ctx, workflowID, runID)}
}

func (_c *MockClient_GetWorkflow_Call) Run(run func(ctx context.Context, workflowID string, runID string)) *MockClient_GetWorkflow_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 string
		if args[1] != nil {
			arg1 = args[1].(string)
		}
		var arg2 string
		if args[2] != nil {
			arg2 = args[2].(string)
		}
		run(
			arg0,
			arg1,
			arg2,
		)
	})
	return _c
}

func (_c *MockClient_GetWorkflow_Call) Return(v client.WorkflowRun) *MockClient_GetWorkflow_Call {
	_c.Call.Return(v)
	return _c
}

func (_c *MockClient_GetWorkflow_Call) RunAndReturn(run func(ctx context.Context, workflowID string, runID string) client.WorkflowRun) *MockClient_GetWorkflow_Call {
	_c.Call.Return(run)
	return _c
}

// GetWorkflowHistory provides a mock function for the type MockClient
func (_mock *MockClient) GetWorkflowHistory(ctx context.Context, workflowID string, runID string, isLongPoll bool, filterType enums.HistoryEventFilterType) client.HistoryEventIterator {
	ret := _mock.Called(ctx, workflowID, runID, isLongPoll, filterType)

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

	var r0 client.HistoryEventIterator
	if returnFunc, ok := ret.Get(0).(func(context.Context, string, string, bool, enums.HistoryEventFilterType) client.HistoryEventIterator); ok {
		r0 = returnFunc(ctx, workflowID, runID, isLongPoll, filterType)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(client.HistoryEventIterator)
		}
	}
	return r0
}

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

// GetWorkflowHistory is a helper method to define mock.On call
//   - ctx context.Context
//   - workflowID string
//   - runID string
//   - isLongPoll bool
//   - filterType enums.HistoryEventFilterType
func (_e *MockClient_Expecter) GetWorkflowHistory(ctx interface{}, workflowID interface{}, runID interface{}, isLongPoll interface{}, filterType interface{}) *MockClient_GetWorkflowHistory_Call {
	return &MockClient_GetWorkflowHistory_Call{Call: _e.mock.On("GetWorkflowHistory", ctx, workflowID, runID, isLongPoll, filterType)}
}

func (_c *MockClient_GetWorkflowHistory_Call) Run(run func(ctx context.Context, workflowID string, runID string, isLongPoll bool, filterType enums.HistoryEventFilterType)) *MockClient_GetWorkflowHistory_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 string
		if args[1] != nil {
			arg1 = args[1].(string)
		}
		var arg2 string
		if args[2] != nil {
			arg2 = args[2].(string)
		}
		var arg3 bool
		if args[3] != nil {
			arg3 = args[3].(bool)
		}
		var arg4 enums.HistoryEventFilterType
		if args[4] != nil {
			arg4 = args[4].(enums.HistoryEventFilterType)
		}
		run(
			arg0,
			arg1,
			arg2,
			arg3,
			arg4,
		)
	})
	return _c
}

func (_c *MockClient_GetWorkflowHistory_Call) Return(v client.HistoryEventIterator) *MockClient_GetWorkflowHistory_Call {
	_c.Call.Return(v)
	return _c
}

func (_c *MockClient_GetWorkflowHistory_Call) RunAndReturn(run func(ctx context.Context, workflowID string, runID string, isLongPoll bool, filterType enums.HistoryEventFilterType) client.HistoryEventIterator) *MockClient_GetWorkflowHistory_Call {
	_c.Call.Return(run)
	return _c
}

// GetWorkflowUpdateHandle provides a mock function for the type MockClient
func (_mock *MockClient) GetWorkflowUpdateHandle(ref client.GetWorkflowUpdateHandleOptions) client.WorkflowUpdateHandle {
	ret := _mock.Called(ref)

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

	var r0 client.WorkflowUpdateHandle
	if returnFunc, ok := ret.Get(0).(func(client.GetWorkflowUpdateHandleOptions) client.WorkflowUpdateHandle); ok {
		r0 = returnFunc(ref)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(client.WorkflowUpdateHandle)
		}
	}
	return r0
}

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

// GetWorkflowUpdateHandle is a helper method to define mock.On call
//   - ref client.GetWorkflowUpdateHandleOptions
func (_e *MockClient_Expecter) GetWorkflowUpdateHandle(ref interface{}) *MockClient_GetWorkflowUpdateHandle_Call {
	return &MockClient_GetWorkflowUpdateHandle_Call{Call: _e.mock.On("GetWorkflowUpdateHandle", ref)}
}

func (_c *MockClient_GetWorkflowUpdateHandle_Call) Run(run func(ref client.GetWorkflowUpdateHandleOptions)) *MockClient_GetWorkflowUpdateHandle_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 client.GetWorkflowUpdateHandleOptions
		if args[0] != nil {
			arg0 = args[0].(client.GetWorkflowUpdateHandleOptions)
		}
		run(
			arg0,
		)
	})
	return _c
}

func (_c *MockClient_GetWorkflowUpdateHandle_Call) Return(v client.WorkflowUpdateHandle) *MockClient_GetWorkflowUpdateHandle_Call {
	_c.Call.Return(v)
	return _c
}

func (_c *MockClient_GetWorkflowUpdateHandle_Call) RunAndReturn(run func(ref client.GetWorkflowUpdateHandleOptions) client.WorkflowUpdateHandle) *MockClient_GetWorkflowUpdateHandle_Call {
	_c.Call.Return(run)
	return _c
}

// ListArchivedWorkflow provides a mock function for the type MockClient
func (_mock *MockClient) ListArchivedWorkflow(ctx context.Context, request *workflowservice.ListArchivedWorkflowExecutionsRequest) (*workflowservice.ListArchivedWorkflowExecutionsResponse, error) {
	ret := _mock.Called(ctx, request)

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

	var r0 *workflowservice.ListArchivedWorkflowExecutionsResponse
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *workflowservice.ListArchivedWorkflowExecutionsRequest) (*workflowservice.ListArchivedWorkflowExecutionsResponse, error)); ok {
		return returnFunc(ctx, request)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *workflowservice.ListArchivedWorkflowExecutionsRequest) *workflowservice.ListArchivedWorkflowExecutionsResponse); ok {
		r0 = returnFunc(ctx, request)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*workflowservice.ListArchivedWorkflowExecutionsResponse)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *workflowservice.ListArchivedWorkflowExecutionsRequest) error); ok {
		r1 = returnFunc(ctx, request)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// ListArchivedWorkflow is a helper method to define mock.On call
//   - ctx context.Context
//   - request *workflowservice.ListArchivedWorkflowExecutionsRequest
func (_e *MockClient_Expecter) ListArchivedWorkflow(ctx interface{}, request interface{}) *MockClient_ListArchivedWorkflow_Call {
	return &MockClient_ListArchivedWorkflow_Call{Call: _e.mock.On("ListArchivedWorkflow", ctx, request)}
}

func (_c *MockClient_ListArchivedWorkflow_Call) Run(run func(ctx context.Context, request *workflowservice.ListArchivedWorkflowExecutionsRequest)) *MockClient_ListArchivedWorkflow_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 *workflowservice.ListArchivedWorkflowExecutionsRequest
		if args[1] != nil {
			arg1 = args[1].(*workflowservice.ListArchivedWorkflowExecutionsRequest)
		}
		run(
			arg0,
			arg1,
		)
	})
	return _c
}

func (_c *MockClient_ListArchivedWorkflow_Call) Return(listArchivedWorkflowExecutionsResponse *workflowservice.ListArchivedWorkflowExecutionsResponse, err error) *MockClient_ListArchivedWorkflow_Call {
	_c.Call.Return(listArchivedWorkflowExecutionsResponse, err)
	return _c
}

func (_c *MockClient_ListArchivedWorkflow_Call) RunAndReturn(run func(ctx context.Context, request *workflowservice.ListArchivedWorkflowExecutionsRequest) (*workflowservice.ListArchivedWorkflowExecutionsResponse, error)) *MockClient_ListArchivedWorkflow_Call {
	_c.Call.Return(run)
	return _c
}

// ListClosedWorkflow provides a mock function for the type MockClient
func (_mock *MockClient) ListClosedWorkflow(ctx context.Context, request *workflowservice.ListClosedWorkflowExecutionsRequest) (*workflowservice.ListClosedWorkflowExecutionsResponse, error) {
	ret := _mock.Called(ctx, request)

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

	var r0 *workflowservice.ListClosedWorkflowExecutionsResponse
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *workflowservice.ListClosedWorkflowExecutionsRequest) (*workflowservice.ListClosedWorkflowExecutionsResponse, error)); ok {
		return returnFunc(ctx, request)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *workflowservice.ListClosedWorkflowExecutionsRequest) *workflowservice.ListClosedWorkflowExecutionsResponse); ok {
		r0 = returnFunc(ctx, request)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*workflowservice.ListClosedWorkflowExecutionsResponse)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *workflowservice.ListClosedWorkflowExecutionsRequest) error); ok {
		r1 = returnFunc(ctx, request)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// ListClosedWorkflow is a helper method to define mock.On call
//   - ctx context.Context
//   - request *workflowservice.ListClosedWorkflowExecutionsRequest
func (_e *MockClient_Expecter) ListClosedWorkflow(ctx interface{}, request interface{}) *MockClient_ListClosedWorkflow_Call {
	return &MockClient_ListClosedWorkflow_Call{Call: _e.mock.On("ListClosedWorkflow", ctx, request)}
}

func (_c *MockClient_ListClosedWorkflow_Call) Run(run func(ctx context.Context, request *workflowservice.ListClosedWorkflowExecutionsRequest)) *MockClient_ListClosedWorkflow_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 *workflowservice.ListClosedWorkflowExecutionsRequest
		if args[1] != nil {
			arg1 = args[1].(*workflowservice.ListClosedWorkflowExecutionsRequest)
		}
		run(
			arg0,
			arg1,
		)
	})
	return _c
}

func (_c *MockClient_ListClosedWorkflow_Call) Return(listClosedWorkflowExecutionsResponse *workflowservice.ListClosedWorkflowExecutionsResponse, err error) *MockClient_ListClosedWorkflow_Call {
	_c.Call.Return(listClosedWorkflowExecutionsResponse, err)
	return _c
}

func (_c *MockClient_ListClosedWorkflow_Call) RunAndReturn(run func(ctx context.Context, request *workflowservice.ListClosedWorkflowExecutionsRequest) (*workflowservice.ListClosedWorkflowExecutionsResponse, error)) *MockClient_ListClosedWorkflow_Call {
	_c.Call.Return(run)
	return _c
}

// ListOpenWorkflow provides a mock function for the type MockClient
func (_mock *MockClient) ListOpenWorkflow(ctx context.Context, request *workflowservice.ListOpenWorkflowExecutionsRequest) (*workflowservice.ListOpenWorkflowExecutionsResponse, error) {
	ret := _mock.Called(ctx, request)

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

	var r0 *workflowservice.ListOpenWorkflowExecutionsResponse
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *workflowservice.ListOpenWorkflowExecutionsRequest) (*workflowservice.ListOpenWorkflowExecutionsResponse, error)); ok {
		return returnFunc(ctx, request)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *workflowservice.ListOpenWorkflowExecutionsRequest) *workflowservice.ListOpenWorkflowExecutionsResponse); ok {
		r0 = returnFunc(ctx, request)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*workflowservice.ListOpenWorkflowExecutionsResponse)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *workflowservice.ListOpenWorkflowExecutionsRequest) error); ok {
		r1 = returnFunc(ctx, request)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// ListOpenWorkflow is a helper method to define mock.On call
//   - ctx context.Context
//   - request *workflowservice.ListOpenWorkflowExecutionsRequest
func (_e *MockClient_Expecter) ListOpenWorkflow(ctx interface{}, request interface{}) *MockClient_ListOpenWorkflow_Call {
	return &MockClient_ListOpenWorkflow_Call{Call: _e.mock.On("ListOpenWorkflow", ctx, request)}
}

func (_c *MockClient_ListOpenWorkflow_Call) Run(run func(ctx context.Context, request *workflowservice.ListOpenWorkflowExecutionsRequest)) *MockClient_ListOpenWorkflow_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 *workflowservice.ListOpenWorkflowExecutionsRequest
		if args[1] != nil {
			arg1 = args[1].(*workflowservice.ListOpenWorkflowExecutionsRequest)
		}
		run(
			arg0,
			arg1,
		)
	})
	return _c
}

func (_c *MockClient_ListOpenWorkflow_Call) Return(listOpenWorkflowExecutionsResponse *workflowservice.ListOpenWorkflowExecutionsResponse, err error) *MockClient_ListOpenWorkflow_Call {
	_c.Call.Return(listOpenWorkflowExecutionsResponse, err)
	return _c
}

func (_c *MockClient_ListOpenWorkflow_Call) RunAndReturn(run func(ctx context.Context, request *workflowservice.ListOpenWorkflowExecutionsRequest) (*workflowservice.ListOpenWorkflowExecutionsResponse, error)) *MockClient_ListOpenWorkflow_Call {
	_c.Call.Return(run)
	return _c
}

// ListWorkflow provides a mock function for the type MockClient
func (_mock *MockClient) ListWorkflow(ctx context.Context, request *workflowservice.ListWorkflowExecutionsRequest) (*workflowservice.ListWorkflowExecutionsResponse, error) {
	ret := _mock.Called(ctx, request)

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

	var r0 *workflowservice.ListWorkflowExecutionsResponse
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *workflowservice.ListWorkflowExecutionsRequest) (*workflowservice.ListWorkflowExecutionsResponse, error)); ok {
		return returnFunc(ctx, request)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *workflowservice.ListWorkflowExecutionsRequest) *workflowservice.ListWorkflowExecutionsResponse); ok {
		r0 = returnFunc(ctx, request)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*workflowservice.ListWorkflowExecutionsResponse)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *workflowservice.ListWorkflowExecutionsRequest) error); ok {
		r1 = returnFunc(ctx, request)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// ListWorkflow is a helper method to define mock.On call
//   - ctx context.Context
//   - request *workflowservice.ListWorkflowExecutionsRequest
func (_e *MockClient_Expecter) ListWorkflow(ctx interface{}, request interface{}) *MockClient_ListWorkflow_Call {
	return &MockClient_ListWorkflow_Call{Call: _e.mock.On("ListWorkflow", ctx, request)}
}

func (_c *MockClient_ListWorkflow_Call) Run(run func(ctx context.Context, request *workflowservice.ListWorkflowExecutionsRequest)) *MockClient_ListWorkflow_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 *workflowservice.ListWorkflowExecutionsRequest
		if args[1] != nil {
			arg1 = args[1].(*workflowservice.ListWorkflowExecutionsRequest)
		}
		run(
			arg0,
			arg1,
		)
	})
	return _c
}

func (_c *MockClient_ListWorkflow_Call) Return(listWorkflowExecutionsResponse *workflowservice.ListWorkflowExecutionsResponse, err error) *MockClient_ListWorkflow_Call {
	_c.Call.Return(listWorkflowExecutionsResponse, err)
	return _c
}

func (_c *MockClient_ListWorkflow_Call) RunAndReturn(run func(ctx context.Context, request *workflowservice.ListWorkflowExecutionsRequest) (*workflowservice.ListWorkflowExecutionsResponse, error)) *MockClient_ListWorkflow_Call {
	_c.Call.Return(run)
	return _c
}

// NewWithStartWorkflowOperation provides a mock function for the type MockClient
func (_mock *MockClient) NewWithStartWorkflowOperation(options client.StartWorkflowOptions, workflow interface{}, args ...interface{}) client.WithStartWorkflowOperation {
	var _ca []interface{}
	_ca = append(_ca, options, workflow)
	_ca = append(_ca, args...)
	ret := _mock.Called(_ca...)

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

	var r0 client.WithStartWorkflowOperation
	if returnFunc, ok := ret.Get(0).(func(client.StartWorkflowOptions, interface{}, ...interface{}) client.WithStartWorkflowOperation); ok {
		r0 = returnFunc(options, workflow, args...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(client.WithStartWorkflowOperation)
		}
	}
	return r0
}

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

// NewWithStartWorkflowOperation is a helper method to define mock.On call
//   - options client.StartWorkflowOptions
//   - workflow interface{}
//   - args ...interface{}
func (_e *MockClient_Expecter) NewWithStartWorkflowOperation(options interface{}, workflow interface{}, args ...interface{}) *MockClient_NewWithStartWorkflowOperation_Call {
	return &MockClient_NewWithStartWorkflowOperation_Call{Call: _e.mock.On("NewWithStartWorkflowOperation",
		append([]interface{}{options, workflow}, args...)...)}
}

func (_c *MockClient_NewWithStartWorkflowOperation_Call) Run(run func(options client.StartWorkflowOptions, workflow interface{}, args ...interface{})) *MockClient_NewWithStartWorkflowOperation_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 client.StartWorkflowOptions
		if args[0] != nil {
			arg0 = args[0].(client.StartWorkflowOptions)
		}
		var arg1 interface{}
		if args[1] != nil {
			arg1 = args[1].(interface{})
		}
		var arg2 []interface{}
		variadicArgs := make([]interface{}, len(args)-2)
		for i, a := range args[2:] {
			if a != nil {
				variadicArgs[i] = a.(interface{})
			}
		}
		arg2 = variadicArgs
		run(
			arg0,
			arg1,
			arg2...,
		)
	})
	return _c
}

func (_c *MockClient_NewWithStartWorkflowOperation_Call) Return(v client.WithStartWorkflowOperation) *MockClient_NewWithStartWorkflowOperation_Call {
	_c.Call.Return(v)
	return _c
}

func (_c *MockClient_NewWithStartWorkflowOperation_Call) RunAndReturn(run func(options client.StartWorkflowOptions, workflow interface{}, args ...interface{}) client.WithStartWorkflowOperation) *MockClient_NewWithStartWorkflowOperation_Call {
	_c.Call.Return(run)
	return _c
}

// OperatorService provides a mock function for the type MockClient
func (_mock *MockClient) OperatorService() operatorservice.OperatorServiceClient {
	ret := _mock.Called()

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

	var r0 operatorservice.OperatorServiceClient
	if returnFunc, ok := ret.Get(0).(func() operatorservice.OperatorServiceClient); ok {
		r0 = returnFunc()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(operatorservice.OperatorServiceClient)
		}
	}
	return r0
}

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

// OperatorService is a helper method to define mock.On call
func (_e *MockClient_Expecter) OperatorService() *MockClient_OperatorService_Call {
	return &MockClient_OperatorService_Call{Call: _e.mock.On("OperatorService")}
}

func (_c *MockClient_OperatorService_Call) Run(run func()) *MockClient_OperatorService_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockClient_OperatorService_Call) Return(operatorServiceClient operatorservice.OperatorServiceClient) *MockClient_OperatorService_Call {
	_c.Call.Return(operatorServiceClient)
	return _c
}

func (_c *MockClient_OperatorService_Call) RunAndReturn(run func() operatorservice.OperatorServiceClient) *MockClient_OperatorService_Call {
	_c.Call.Return(run)
	return _c
}

// QueryWorkflow provides a mock function for the type MockClient
func (_mock *MockClient) QueryWorkflow(ctx context.Context, workflowID string, runID string, queryType string, args ...interface{}) (converter.EncodedValue, error) {
	var _ca []interface{}
	_ca = append(_ca, ctx, workflowID, runID, queryType)
	_ca = append(_ca, args...)
	ret := _mock.Called(_ca...)

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

	var r0 converter.EncodedValue
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, string, string, string, ...interface{}) (converter.EncodedValue, error)); ok {
		return returnFunc(ctx, workflowID, runID, queryType, args...)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, string, string, string, ...interface{}) converter.EncodedValue); ok {
		r0 = returnFunc(ctx, workflowID, runID, queryType, args...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(converter.EncodedValue)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, string, string, string, ...interface{}) error); ok {
		r1 = returnFunc(ctx, workflowID, runID, queryType, args...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// QueryWorkflow is a helper method to define mock.On call
//   - ctx context.Context
//   - workflowID string
//   - runID string
//   - queryType string
//   - args ...interface{}
func (_e *MockClient_Expecter) QueryWorkflow(ctx interface{}, workflowID interface{}, runID interface{}, queryType interface{}, args ...interface{}) *MockClient_QueryWorkflow_Call {
	return &MockClient_QueryWorkflow_Call{Call: _e.mock.On("QueryWorkflow",
		append([]interface{}{ctx, workflowID, runID, queryType}, args...)...)}
}

func (_c *MockClient_QueryWorkflow_Call) Run(run func(ctx context.Context, workflowID string, runID string, queryType string, args ...interface{})) *MockClient_QueryWorkflow_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 string
		if args[1] != nil {
			arg1 = args[1].(string)
		}
		var arg2 string
		if args[2] != nil {
			arg2 = args[2].(string)
		}
		var arg3 string
		if args[3] != nil {
			arg3 = args[3].(string)
		}
		var arg4 []interface{}
		variadicArgs := make([]interface{}, len(args)-4)
		for i, a := range args[4:] {
			if a != nil {
				variadicArgs[i] = a.(interface{})
			}
		}
		arg4 = variadicArgs
		run(
			arg0,
			arg1,
			arg2,
			arg3,
			arg4...,
		)
	})
	return _c
}

func (_c *MockClient_QueryWorkflow_Call) Return(encodedValue converter.EncodedValue, err error) *MockClient_QueryWorkflow_Call {
	_c.Call.Return(encodedValue, err)
	return _c
}

func (_c *MockClient_QueryWorkflow_Call) RunAndReturn(run func(ctx context.Context, workflowID string, runID string, queryType string, args ...interface{}) (converter.EncodedValue, error)) *MockClient_QueryWorkflow_Call {
	_c.Call.Return(run)
	return _c
}

// QueryWorkflowWithOptions provides a mock function for the type MockClient
func (_mock *MockClient) QueryWorkflowWithOptions(ctx context.Context, request *client.QueryWorkflowWithOptionsRequest) (*client.QueryWorkflowWithOptionsResponse, error) {
	ret := _mock.Called(ctx, request)

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

	var r0 *client.QueryWorkflowWithOptionsResponse
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *client.QueryWorkflowWithOptionsRequest) (*client.QueryWorkflowWithOptionsResponse, error)); ok {
		return returnFunc(ctx, request)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *client.QueryWorkflowWithOptionsRequest) *client.QueryWorkflowWithOptionsResponse); ok {
		r0 = returnFunc(ctx, request)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*client.QueryWorkflowWithOptionsResponse)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *client.QueryWorkflowWithOptionsRequest) error); ok {
		r1 = returnFunc(ctx, request)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// QueryWorkflowWithOptions is a helper method to define mock.On call
//   - ctx context.Context
//   - request *client.QueryWorkflowWithOptionsRequest
func (_e *MockClient_Expecter) QueryWorkflowWithOptions(ctx interface{}, request interface{}) *MockClient_QueryWorkflowWithOptions_Call {
	return &MockClient_QueryWorkflowWithOptions_Call{Call: _e.mock.On("QueryWorkflowWithOptions", ctx, request)}
}

func (_c *MockClient_QueryWorkflowWithOptions_Call) Run(run func(ctx context.Context, request *client.QueryWorkflowWithOptionsRequest)) *MockClient_QueryWorkflowWithOptions_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 *client.QueryWorkflowWithOptionsRequest
		if args[1] != nil {
			arg1 = args[1].(*client.QueryWorkflowWithOptionsRequest)
		}
		run(
			arg0,
			arg1,
		)
	})
	return _c
}

func (_c *MockClient_QueryWorkflowWithOptions_Call) Return(v *client.QueryWorkflowWithOptionsResponse, err error) *MockClient_QueryWorkflowWithOptions_Call {
	_c.Call.Return(v, err)
	return _c
}

func (_c *MockClient_QueryWorkflowWithOptions_Call) RunAndReturn(run func(ctx context.Context, request *client.QueryWorkflowWithOptionsRequest) (*client.QueryWorkflowWithOptionsResponse, error)) *MockClient_QueryWorkflowWithOptions_Call {
	_c.Call.Return(run)
	return _c
}

// RecordActivityHeartbeat provides a mock function for the type MockClient
func (_mock *MockClient) RecordActivityHeartbeat(ctx context.Context, taskToken []byte, details ...interface{}) error {
	var _ca []interface{}
	_ca = append(_ca, ctx, taskToken)
	_ca = append(_ca, details...)
	ret := _mock.Called(_ca...)

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

	var r0 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, []byte, ...interface{}) error); ok {
		r0 = returnFunc(ctx, taskToken, details...)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}

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

// RecordActivityHeartbeat is a helper method to define mock.On call
//   - ctx context.Context
//   - taskToken []byte
//   - details ...interface{}
func (_e *MockClient_Expecter) RecordActivityHeartbeat(ctx interface{}, taskToken interface{}, details ...interface{}) *MockClient_RecordActivityHeartbeat_Call {
	return &MockClient_RecordActivityHeartbeat_Call{Call: _e.mock.On("RecordActivityHeartbeat",
		append([]interface{}{ctx, taskToken}, details...)...)}
}

func (_c *MockClient_RecordActivityHeartbeat_Call) Run(run func(ctx context.Context, taskToken []byte, details ...interface{})) *MockClient_RecordActivityHeartbeat_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 []byte
		if args[1] != nil {
			arg1 = args[1].([]byte)
		}
		var arg2 []interface{}
		variadicArgs := make([]interface{}, len(args)-2)
		for i, a := range args[2:] {
			if a != nil {
				variadicArgs[i] = a.(interface{})
			}
		}
		arg2 = variadicArgs
		run(
			arg0,
			arg1,
			arg2...,
		)
	})
	return _c
}

func (_c *MockClient_RecordActivityHeartbeat_Call) Return(err error) *MockClient_RecordActivityHeartbeat_Call {
	_c.Call.Return(err)
	return _c
}

func (_c *MockClient_RecordActivityHeartbeat_Call) RunAndReturn(run func(ctx context.Context, taskToken []byte, details ...interface{}) error) *MockClient_RecordActivityHeartbeat_Call {
	_c.Call.Return(run)
	return _c
}

// RecordActivityHeartbeatByID provides a mock function for the type MockClient
func (_mock *MockClient) RecordActivityHeartbeatByID(ctx context.Context, namespace string, workflowID string, runID string, activityID string, details ...interface{}) error {
	var _ca []interface{}
	_ca = append(_ca, ctx, namespace, workflowID, runID, activityID)
	_ca = append(_ca, details...)
	ret := _mock.Called(_ca...)

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

	var r0 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, string, string, string, string, ...interface{}) error); ok {
		r0 = returnFunc(ctx, namespace, workflowID, runID, activityID, details...)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}

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

// RecordActivityHeartbeatByID is a helper method to define mock.On call
//   - ctx context.Context
//   - namespace string
//   - workflowID string
//   - runID string
//   - activityID string
//   - details ...interface{}
func (_e *MockClient_Expecter) RecordActivityHeartbeatByID(ctx interface{}, namespace interface{}, workflowID interface{}, runID interface{}, activityID interface{}, details ...interface{}) *MockClient_RecordActivityHeartbeatByID_Call {
	return &MockClient_RecordActivityHeartbeatByID_Call{Call: _e.mock.On("RecordActivityHeartbeatByID",
		append([]interface{}{ctx, namespace, workflowID, runID, activityID}, details...)...)}
}

func (_c *MockClient_RecordActivityHeartbeatByID_Call) Run(run func(ctx context.Context, namespace string, workflowID string, runID string, activityID string, details ...interface{})) *MockClient_RecordActivityHeartbeatByID_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 string
		if args[1] != nil {
			arg1 = args[1].(string)
		}
		var arg2 string
		if args[2] != nil {
			arg2 = args[2].(string)
		}
		var arg3 string
		if args[3] != nil {
			arg3 = args[3].(string)
		}
		var arg4 string
		if args[4] != nil {
			arg4 = args[4].(string)
		}
		var arg5 []interface{}
		variadicArgs := make([]interface{}, len(args)-5)
		for i, a := range args[5:] {
			if a != nil {
				variadicArgs[i] = a.(interface{})
			}
		}
		arg5 = variadicArgs
		run(
			arg0,
			arg1,
			arg2,
			arg3,
			arg4,
			arg5...,
		)
	})
	return _c
}

func (_c *MockClient_RecordActivityHeartbeatByID_Call) Return(err error) *MockClient_RecordActivityHeartbeatByID_Call {
	_c.Call.Return(err)
	return _c
}

func (_c *MockClient_RecordActivityHeartbeatByID_Call) RunAndReturn(run func(ctx context.Context, namespace string, workflowID string, runID string, activityID string, details ...interface{}) error) *MockClient_RecordActivityHeartbeatByID_Call {
	_c.Call.Return(run)
	return _c
}

// ResetWorkflowExecution provides a mock function for the type MockClient
func (_mock *MockClient) ResetWorkflowExecution(ctx context.Context, request *workflowservice.ResetWorkflowExecutionRequest) (*workflowservice.ResetWorkflowExecutionResponse, error) {
	ret := _mock.Called(ctx, request)

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

	var r0 *workflowservice.ResetWorkflowExecutionResponse
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *workflowservice.ResetWorkflowExecutionRequest) (*workflowservice.ResetWorkflowExecutionResponse, error)); ok {
		return returnFunc(ctx, request)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *workflowservice.ResetWorkflowExecutionRequest) *workflowservice.ResetWorkflowExecutionResponse); ok {
		r0 = returnFunc(ctx, request)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*workflowservice.ResetWorkflowExecutionResponse)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *workflowservice.ResetWorkflowExecutionRequest) error); ok {
		r1 = returnFunc(ctx, request)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// ResetWorkflowExecution is a helper method to define mock.On call
//   - ctx context.Context
//   - request *workflowservice.ResetWorkflowExecutionRequest
func (_e *MockClient_Expecter) ResetWorkflowExecution(ctx interface{}, request interface{}) *MockClient_ResetWorkflowExecution_Call {
	return &MockClient_ResetWorkflowExecution_Call{Call: _e.mock.On("ResetWorkflowExecution", ctx, request)}
}

func (_c *MockClient_ResetWorkflowExecution_Call) Run(run func(ctx context.Context, request *workflowservice.ResetWorkflowExecutionRequest)) *MockClient_ResetWorkflowExecution_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 *workflowservice.ResetWorkflowExecutionRequest
		if args[1] != nil {
			arg1 = args[1].(*workflowservice.ResetWorkflowExecutionRequest)
		}
		run(
			arg0,
			arg1,
		)
	})
	return _c
}

func (_c *MockClient_ResetWorkflowExecution_Call) Return(resetWorkflowExecutionResponse *workflowservice.ResetWorkflowExecutionResponse, err error) *MockClient_ResetWorkflowExecution_Call {
	_c.Call.Return(resetWorkflowExecutionResponse, err)
	return _c
}

func (_c *MockClient_ResetWorkflowExecution_Call) RunAndReturn(run func(ctx context.Context, request *workflowservice.ResetWorkflowExecutionRequest) (*workflowservice.ResetWorkflowExecutionResponse, error)) *MockClient_ResetWorkflowExecution_Call {
	_c.Call.Return(run)
	return _c
}

// ScanWorkflow provides a mock function for the type MockClient
func (_mock *MockClient) ScanWorkflow(ctx context.Context, request *workflowservice.ScanWorkflowExecutionsRequest) (*workflowservice.ScanWorkflowExecutionsResponse, error) {
	ret := _mock.Called(ctx, request)

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

	var r0 *workflowservice.ScanWorkflowExecutionsResponse
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *workflowservice.ScanWorkflowExecutionsRequest) (*workflowservice.ScanWorkflowExecutionsResponse, error)); ok {
		return returnFunc(ctx, request)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *workflowservice.ScanWorkflowExecutionsRequest) *workflowservice.ScanWorkflowExecutionsResponse); ok {
		r0 = returnFunc(ctx, request)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*workflowservice.ScanWorkflowExecutionsResponse)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *workflowservice.ScanWorkflowExecutionsRequest) error); ok {
		r1 = returnFunc(ctx, request)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// ScanWorkflow is a helper method to define mock.On call
//   - ctx context.Context
//   - request *workflowservice.ScanWorkflowExecutionsRequest
func (_e *MockClient_Expecter) ScanWorkflow(ctx interface{}, request interface{}) *MockClient_ScanWorkflow_Call {
	return &MockClient_ScanWorkflow_Call{Call: _e.mock.On("ScanWorkflow", ctx, request)}
}

func (_c *MockClient_ScanWorkflow_Call) Run(run func(ctx context.Context, request *workflowservice.ScanWorkflowExecutionsRequest)) *MockClient_ScanWorkflow_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 *workflowservice.ScanWorkflowExecutionsRequest
		if args[1] != nil {
			arg1 = args[1].(*workflowservice.ScanWorkflowExecutionsRequest)
		}
		run(
			arg0,
			arg1,
		)
	})
	return _c
}

func (_c *MockClient_ScanWorkflow_Call) Return(scanWorkflowExecutionsResponse *workflowservice.ScanWorkflowExecutionsResponse, err error) *MockClient_ScanWorkflow_Call {
	_c.Call.Return(scanWorkflowExecutionsResponse, err)
	return _c
}

func (_c *MockClient_ScanWorkflow_Call) RunAndReturn(run func(ctx context.Context, request *workflowservice.ScanWorkflowExecutionsRequest) (*workflowservice.ScanWorkflowExecutionsResponse, error)) *MockClient_ScanWorkflow_Call {
	_c.Call.Return(run)
	return _c
}

// ScheduleClient provides a mock function for the type MockClient
func (_mock *MockClient) ScheduleClient() client.ScheduleClient {
	ret := _mock.Called()

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

	var r0 client.ScheduleClient
	if returnFunc, ok := ret.Get(0).(func() client.ScheduleClient); ok {
		r0 = returnFunc()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(client.ScheduleClient)
		}
	}
	return r0
}

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

// ScheduleClient is a helper method to define mock.On call
func (_e *MockClient_Expecter) ScheduleClient() *MockClient_ScheduleClient_Call {
	return &MockClient_ScheduleClient_Call{Call: _e.mock.On("ScheduleClient")}
}

func (_c *MockClient_ScheduleClient_Call) Run(run func()) *MockClient_ScheduleClient_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockClient_ScheduleClient_Call) Return(v client.ScheduleClient) *MockClient_ScheduleClient_Call {
	_c.Call.Return(v)
	return _c
}

func (_c *MockClient_ScheduleClient_Call) RunAndReturn(run func() client.ScheduleClient) *MockClient_ScheduleClient_Call {
	_c.Call.Return(run)
	return _c
}

// SignalWithStartWorkflow provides a mock function for the type MockClient
func (_mock *MockClient) SignalWithStartWorkflow(ctx context.Context, workflowID string, signalName string, signalArg interface{}, options client.StartWorkflowOptions, workflow interface{}, workflowArgs ...interface{}) (client.WorkflowRun, error) {
	var _ca []interface{}
	_ca = append(_ca, ctx, workflowID, signalName, signalArg, options, workflow)
	_ca = append(_ca, workflowArgs...)
	ret := _mock.Called(_ca...)

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

	var r0 client.WorkflowRun
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, string, string, interface{}, client.StartWorkflowOptions, interface{}, ...interface{}) (client.WorkflowRun, error)); ok {
		return returnFunc(ctx, workflowID, signalName, signalArg, options, workflow, workflowArgs...)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, string, string, interface{}, client.StartWorkflowOptions, interface{}, ...interface{}) client.WorkflowRun); ok {
		r0 = returnFunc(ctx, workflowID, signalName, signalArg, options, workflow, workflowArgs...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(client.WorkflowRun)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, string, string, interface{}, client.StartWorkflowOptions, interface{}, ...interface{}) error); ok {
		r1 = returnFunc(ctx, workflowID, signalName, signalArg, options, workflow, workflowArgs...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// SignalWithStartWorkflow is a helper method to define mock.On call
//   - ctx context.Context
//   - workflowID string
//   - signalName string
//   - signalArg interface{}
//   - options client.StartWorkflowOptions
//   - workflow interface{}
//   - workflowArgs ...interface{}
func (_e *MockClient_Expecter) SignalWithStartWorkflow(ctx interface{}, workflowID interface{}, signalName interface{}, signalArg interface{}, options interface{}, workflow interface{}, workflowArgs ...interface{}) *MockClient_SignalWithStartWorkflow_Call {
	return &MockClient_SignalWithStartWorkflow_Call{Call: _e.mock.On("SignalWithStartWorkflow",
		append([]interface{}{ctx, workflowID, signalName, signalArg, options, workflow}, workflowArgs...)...)}
}

func (_c *MockClient_SignalWithStartWorkflow_Call) Run(run func(ctx context.Context, workflowID string, signalName string, signalArg interface{}, options client.StartWorkflowOptions, workflow interface{}, workflowArgs ...interface{})) *MockClient_SignalWithStartWorkflow_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 string
		if args[1] != nil {
			arg1 = args[1].(string)
		}
		var arg2 string
		if args[2] != nil {
			arg2 = args[2].(string)
		}
		var arg3 interface{}
		if args[3] != nil {
			arg3 = args[3].(interface{})
		}
		var arg4 client.StartWorkflowOptions
		if args[4] != nil {
			arg4 = args[4].(client.StartWorkflowOptions)
		}
		var arg5 interface{}
		if args[5] != nil {
			arg5 = args[5].(interface{})
		}
		var arg6 []interface{}
		variadicArgs := make([]interface{}, len(args)-6)
		for i, a := range args[6:] {
			if a != nil {
				variadicArgs[i] = a.(interface{})
			}
		}
		arg6 = variadicArgs
		run(
			arg0,
			arg1,
			arg2,
			arg3,
			arg4,
			arg5,
			arg6...,
		)
	})
	return _c
}

func (_c *MockClient_SignalWithStartWorkflow_Call) Return(v client.WorkflowRun, err error) *MockClient_SignalWithStartWorkflow_Call {
	_c.Call.Return(v, err)
	return _c
}

func (_c *MockClient_SignalWithStartWorkflow_Call) RunAndReturn(run func(ctx context.Context, workflowID string, signalName string, signalArg interface{}, options client.StartWorkflowOptions, workflow interface{}, workflowArgs ...interface{}) (client.WorkflowRun, error)) *MockClient_SignalWithStartWorkflow_Call {
	_c.Call.Return(run)
	return _c
}

// SignalWorkflow provides a mock function for the type MockClient
func (_mock *MockClient) SignalWorkflow(ctx context.Context, workflowID string, runID string, signalName string, arg interface{}) error {
	ret := _mock.Called(ctx, workflowID, runID, signalName, arg)

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

	var r0 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, string, string, string, interface{}) error); ok {
		r0 = returnFunc(ctx, workflowID, runID, signalName, arg)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}

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

// SignalWorkflow is a helper method to define mock.On call
//   - ctx context.Context
//   - workflowID string
//   - runID string
//   - signalName string
//   - arg interface{}
func (_e *MockClient_Expecter) SignalWorkflow(ctx interface{}, workflowID interface{}, runID interface{}, signalName interface{}, arg interface{}) *MockClient_SignalWorkflow_Call {
	return &MockClient_SignalWorkflow_Call{Call: _e.mock.On("SignalWorkflow", ctx, workflowID, runID, signalName, arg)}
}

func (_c *MockClient_SignalWorkflow_Call) Run(run func(ctx context.Context, workflowID string, runID string, signalName string, arg interface{})) *MockClient_SignalWorkflow_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 string
		if args[1] != nil {
			arg1 = args[1].(string)
		}
		var arg2 string
		if args[2] != nil {
			arg2 = args[2].(string)
		}
		var arg3 string
		if args[3] != nil {
			arg3 = args[3].(string)
		}
		var arg4 interface{}
		if args[4] != nil {
			arg4 = args[4].(interface{})
		}
		run(
			arg0,
			arg1,
			arg2,
			arg3,
			arg4,
		)
	})
	return _c
}

func (_c *MockClient_SignalWorkflow_Call) Return(err error) *MockClient_SignalWorkflow_Call {
	_c.Call.Return(err)
	return _c
}

func (_c *MockClient_SignalWorkflow_Call) RunAndReturn(run func(ctx context.Context, workflowID string, runID string, signalName string, arg interface{}) error) *MockClient_SignalWorkflow_Call {
	_c.Call.Return(run)
	return _c
}

// TerminateWorkflow provides a mock function for the type MockClient
func (_mock *MockClient) TerminateWorkflow(ctx context.Context, workflowID string, runID string, reason string, details ...interface{}) error {
	var _ca []interface{}
	_ca = append(_ca, ctx, workflowID, runID, reason)
	_ca = append(_ca, details...)
	ret := _mock.Called(_ca...)

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

	var r0 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, string, string, string, ...interface{}) error); ok {
		r0 = returnFunc(ctx, workflowID, runID, reason, details...)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}

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

// TerminateWorkflow is a helper method to define mock.On call
//   - ctx context.Context
//   - workflowID string
//   - runID string
//   - reason string
//   - details ...interface{}
func (_e *MockClient_Expecter) TerminateWorkflow(ctx interface{}, workflowID interface{}, runID interface{}, reason interface{}, details ...interface{}) *MockClient_TerminateWorkflow_Call {
	return &MockClient_TerminateWorkflow_Call{Call: _e.mock.On("TerminateWorkflow",
		append([]interface{}{ctx, workflowID, runID, reason}, details...)...)}
}

func (_c *MockClient_TerminateWorkflow_Call) Run(run func(ctx context.Context, workflowID string, runID string, reason string, details ...interface{})) *MockClient_TerminateWorkflow_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 string
		if args[1] != nil {
			arg1 = args[1].(string)
		}
		var arg2 string
		if args[2] != nil {
			arg2 = args[2].(string)
		}
		var arg3 string
		if args[3] != nil {
			arg3 = args[3].(string)
		}
		var arg4 []interface{}
		variadicArgs := make([]interface{}, len(args)-4)
		for i, a := range args[4:] {
			if a != nil {
				variadicArgs[i] = a.(interface{})
			}
		}
		arg4 = variadicArgs
		run(
			arg0,
			arg1,
			arg2,
			arg3,
			arg4...,
		)
	})
	return _c
}

func (_c *MockClient_TerminateWorkflow_Call) Return(err error) *MockClient_TerminateWorkflow_Call {
	_c.Call.Return(err)
	return _c
}

func (_c *MockClient_TerminateWorkflow_Call) RunAndReturn(run func(ctx context.Context, workflowID string, runID string, reason string, details ...interface{}) error) *MockClient_TerminateWorkflow_Call {
	_c.Call.Return(run)
	return _c
}

// UpdateWithStartWorkflow provides a mock function for the type MockClient
func (_mock *MockClient) UpdateWithStartWorkflow(ctx context.Context, options client.UpdateWithStartWorkflowOptions) (client.WorkflowUpdateHandle, error) {
	ret := _mock.Called(ctx, options)

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

	var r0 client.WorkflowUpdateHandle
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, client.UpdateWithStartWorkflowOptions) (client.WorkflowUpdateHandle, error)); ok {
		return returnFunc(ctx, options)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, client.UpdateWithStartWorkflowOptions) client.WorkflowUpdateHandle); ok {
		r0 = returnFunc(ctx, options)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(client.WorkflowUpdateHandle)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, client.UpdateWithStartWorkflowOptions) error); ok {
		r1 = returnFunc(ctx, options)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// UpdateWithStartWorkflow is a helper method to define mock.On call
//   - ctx context.Context
//   - options client.UpdateWithStartWorkflowOptions
func (_e *MockClient_Expecter) UpdateWithStartWorkflow(ctx interface{}, options interface{}) *MockClient_UpdateWithStartWorkflow_Call {
	return &MockClient_UpdateWithStartWorkflow_Call{Call: _e.mock.On("UpdateWithStartWorkflow", ctx, options)}
}

func (_c *MockClient_UpdateWithStartWorkflow_Call) Run(run func(ctx context.Context, options client.UpdateWithStartWorkflowOptions)) *MockClient_UpdateWithStartWorkflow_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 client.UpdateWithStartWorkflowOptions
		if args[1] != nil {
			arg1 = args[1].(client.UpdateWithStartWorkflowOptions)
		}
		run(
			arg0,
			arg1,
		)
	})
	return _c
}

func (_c *MockClient_UpdateWithStartWorkflow_Call) Return(v client.WorkflowUpdateHandle, err error) *MockClient_UpdateWithStartWorkflow_Call {
	_c.Call.Return(v, err)
	return _c
}

func (_c *MockClient_UpdateWithStartWorkflow_Call) RunAndReturn(run func(ctx context.Context, options client.UpdateWithStartWorkflowOptions) (client.WorkflowUpdateHandle, error)) *MockClient_UpdateWithStartWorkflow_Call {
	_c.Call.Return(run)
	return _c
}

// UpdateWorkerBuildIdCompatibility provides a mock function for the type MockClient
func (_mock *MockClient) UpdateWorkerBuildIdCompatibility(ctx context.Context, options *client.UpdateWorkerBuildIdCompatibilityOptions) error {
	ret := _mock.Called(ctx, options)

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

	var r0 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *client.UpdateWorkerBuildIdCompatibilityOptions) error); ok {
		r0 = returnFunc(ctx, options)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}

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

// UpdateWorkerBuildIdCompatibility is a helper method to define mock.On call
//   - ctx context.Context
//   - options *client.UpdateWorkerBuildIdCompatibilityOptions
func (_e *MockClient_Expecter) UpdateWorkerBuildIdCompatibility(ctx interface{}, options interface{}) *MockClient_UpdateWorkerBuildIdCompatibility_Call {
	return &MockClient_UpdateWorkerBuildIdCompatibility_Call{Call: _e.mock.On("UpdateWorkerBuildIdCompatibility", ctx, options)}
}

func (_c *MockClient_UpdateWorkerBuildIdCompatibility_Call) Run(run func(ctx context.Context, options *client.UpdateWorkerBuildIdCompatibilityOptions)) *MockClient_UpdateWorkerBuildIdCompatibility_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 *client.UpdateWorkerBuildIdCompatibilityOptions
		if args[1] != nil {
			arg1 = args[1].(*client.UpdateWorkerBuildIdCompatibilityOptions)
		}
		run(
			arg0,
			arg1,
		)
	})
	return _c
}

func (_c *MockClient_UpdateWorkerBuildIdCompatibility_Call) Return(err error) *MockClient_UpdateWorkerBuildIdCompatibility_Call {
	_c.Call.Return(err)
	return _c
}

func (_c *MockClient_UpdateWorkerBuildIdCompatibility_Call) RunAndReturn(run func(ctx context.Context, options *client.UpdateWorkerBuildIdCompatibilityOptions) error) *MockClient_UpdateWorkerBuildIdCompatibility_Call {
	_c.Call.Return(run)
	return _c
}

// UpdateWorkerVersioningRules provides a mock function for the type MockClient
func (_mock *MockClient) UpdateWorkerVersioningRules(ctx context.Context, options client.UpdateWorkerVersioningRulesOptions) (*client.WorkerVersioningRules, error) {
	ret := _mock.Called(ctx, options)

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

	var r0 *client.WorkerVersioningRules
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, client.UpdateWorkerVersioningRulesOptions) (*client.WorkerVersioningRules, error)); ok {
		return returnFunc(ctx, options)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, client.UpdateWorkerVersioningRulesOptions) *client.WorkerVersioningRules); ok {
		r0 = returnFunc(ctx, options)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*client.WorkerVersioningRules)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, client.UpdateWorkerVersioningRulesOptions) error); ok {
		r1 = returnFunc(ctx, options)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// UpdateWorkerVersioningRules is a helper method to define mock.On call
//   - ctx context.Context
//   - options client.UpdateWorkerVersioningRulesOptions
func (_e *MockClient_Expecter) UpdateWorkerVersioningRules(ctx interface{}, options interface{}) *MockClient_UpdateWorkerVersioningRules_Call {
	return &MockClient_UpdateWorkerVersioningRules_Call{Call: _e.mock.On("UpdateWorkerVersioningRules", ctx, options)}
}

func (_c *MockClient_UpdateWorkerVersioningRules_Call) Run(run func(ctx context.Context, options client.UpdateWorkerVersioningRulesOptions)) *MockClient_UpdateWorkerVersioningRules_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 client.UpdateWorkerVersioningRulesOptions
		if args[1] != nil {
			arg1 = args[1].(client.UpdateWorkerVersioningRulesOptions)
		}
		run(
			arg0,
			arg1,
		)
	})
	return _c
}

func (_c *MockClient_UpdateWorkerVersioningRules_Call) Return(v *client.WorkerVersioningRules, err error) *MockClient_UpdateWorkerVersioningRules_Call {
	_c.Call.Return(v, err)
	return _c
}

func (_c *MockClient_UpdateWorkerVersioningRules_Call) RunAndReturn(run func(ctx context.Context, options client.UpdateWorkerVersioningRulesOptions) (*client.WorkerVersioningRules, error)) *MockClient_UpdateWorkerVersioningRules_Call {
	_c.Call.Return(run)
	return _c
}

// UpdateWorkflow provides a mock function for the type MockClient
func (_mock *MockClient) UpdateWorkflow(ctx context.Context, options client.UpdateWorkflowOptions) (client.WorkflowUpdateHandle, error) {
	ret := _mock.Called(ctx, options)

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

	var r0 client.WorkflowUpdateHandle
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, client.UpdateWorkflowOptions) (client.WorkflowUpdateHandle, error)); ok {
		return returnFunc(ctx, options)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, client.UpdateWorkflowOptions) client.WorkflowUpdateHandle); ok {
		r0 = returnFunc(ctx, options)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(client.WorkflowUpdateHandle)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, client.UpdateWorkflowOptions) error); ok {
		r1 = returnFunc(ctx, options)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// UpdateWorkflow is a helper method to define mock.On call
//   - ctx context.Context
//   - options client.UpdateWorkflowOptions
func (_e *MockClient_Expecter) UpdateWorkflow(ctx interface{}, options interface{}) *MockClient_UpdateWorkflow_Call {
	return &MockClient_UpdateWorkflow_Call{Call: _e.mock.On("UpdateWorkflow", ctx, options)}
}

func (_c *MockClient_UpdateWorkflow_Call) Run(run func(ctx context.Context, options client.UpdateWorkflowOptions)) *MockClient_UpdateWorkflow_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 client.UpdateWorkflowOptions
		if args[1] != nil {
			arg1 = args[1].(client.UpdateWorkflowOptions)
		}
		run(
			arg0,
			arg1,
		)
	})
	return _c
}

func (_c *MockClient_UpdateWorkflow_Call) Return(v client.WorkflowUpdateHandle, err error) *MockClient_UpdateWorkflow_Call {
	_c.Call.Return(v, err)
	return _c
}

func (_c *MockClient_UpdateWorkflow_Call) RunAndReturn(run func(ctx context.Context, options client.UpdateWorkflowOptions) (client.WorkflowUpdateHandle, error)) *MockClient_UpdateWorkflow_Call {
	_c.Call.Return(run)
	return _c
}

// UpdateWorkflowExecutionOptions provides a mock function for the type MockClient
func (_mock *MockClient) UpdateWorkflowExecutionOptions(ctx context.Context, options client.UpdateWorkflowExecutionOptionsRequest) (client.WorkflowExecutionOptions, error) {
	ret := _mock.Called(ctx, options)

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

	var r0 client.WorkflowExecutionOptions
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, client.UpdateWorkflowExecutionOptionsRequest) (client.WorkflowExecutionOptions, error)); ok {
		return returnFunc(ctx, options)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, client.UpdateWorkflowExecutionOptionsRequest) client.WorkflowExecutionOptions); ok {
		r0 = returnFunc(ctx, options)
	} else {
		r0 = ret.Get(0).(client.WorkflowExecutionOptions)
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, client.UpdateWorkflowExecutionOptionsRequest) error); ok {
		r1 = returnFunc(ctx, options)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

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

// UpdateWorkflowExecutionOptions is a helper method to define mock.On call
//   - ctx context.Context
//   - options client.UpdateWorkflowExecutionOptionsRequest
func (_e *MockClient_Expecter) UpdateWorkflowExecutionOptions(ctx interface{}, options interface{}) *MockClient_UpdateWorkflowExecutionOptions_Call {
	return &MockClient_UpdateWorkflowExecutionOptions_Call{Call: _e.mock.On("UpdateWorkflowExecutionOptions", ctx, options)}
}

func (_c *MockClient_UpdateWorkflowExecutionOptions_Call) Run(run func(ctx context.Context, options client.UpdateWorkflowExecutionOptionsRequest)) *MockClient_UpdateWorkflowExecutionOptions_Call {
	_c.Call.Run(func(args mock.Arguments) {
		var arg0 context.Context
		if args[0] != nil {
			arg0 = args[0].(context.Context)
		}
		var arg1 client.UpdateWorkflowExecutionOptionsRequest
		if args[1] != nil {
			arg1 = args[1].(client.UpdateWorkflowExecutionOptionsRequest)
		}
		run(
			arg0,
			arg1,
		)
	})
	return _c
}

func (_c *MockClient_UpdateWorkflowExecutionOptions_Call) Return(v client.WorkflowExecutionOptions, err error) *MockClient_UpdateWorkflowExecutionOptions_Call {
	_c.Call.Return(v, err)
	return _c
}

func (_c *MockClient_UpdateWorkflowExecutionOptions_Call) RunAndReturn(run func(ctx context.Context, options client.UpdateWorkflowExecutionOptionsRequest) (client.WorkflowExecutionOptions, error)) *MockClient_UpdateWorkflowExecutionOptions_Call {
	_c.Call.Return(run)
	return _c
}

// WorkerDeploymentClient provides a mock function for the type MockClient
func (_mock *MockClient) WorkerDeploymentClient() client.WorkerDeploymentClient {
	ret := _mock.Called()

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

	var r0 client.WorkerDeploymentClient
	if returnFunc, ok := ret.Get(0).(func() client.WorkerDeploymentClient); ok {
		r0 = returnFunc()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(client.WorkerDeploymentClient)
		}
	}
	return r0
}

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

// WorkerDeploymentClient is a helper method to define mock.On call
func (_e *MockClient_Expecter) WorkerDeploymentClient() *MockClient_WorkerDeploymentClient_Call {
	return &MockClient_WorkerDeploymentClient_Call{Call: _e.mock.On("WorkerDeploymentClient")}
}

func (_c *MockClient_WorkerDeploymentClient_Call) Run(run func()) *MockClient_WorkerDeploymentClient_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockClient_WorkerDeploymentClient_Call) Return(v client.WorkerDeploymentClient) *MockClient_WorkerDeploymentClient_Call {
	_c.Call.Return(v)
	return _c
}

func (_c *MockClient_WorkerDeploymentClient_Call) RunAndReturn(run func() client.WorkerDeploymentClient) *MockClient_WorkerDeploymentClient_Call {
	_c.Call.Return(run)
	return _c
}

// WorkflowService provides a mock function for the type MockClient
func (_mock *MockClient) WorkflowService() workflowservice.WorkflowServiceClient {
	ret := _mock.Called()

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

	var r0 workflowservice.WorkflowServiceClient
	if returnFunc, ok := ret.Get(0).(func() workflowservice.WorkflowServiceClient); ok {
		r0 = returnFunc()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(workflowservice.WorkflowServiceClient)
		}
	}
	return r0
}

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

// WorkflowService is a helper method to define mock.On call
func (_e *MockClient_Expecter) WorkflowService() *MockClient_WorkflowService_Call {
	return &MockClient_WorkflowService_Call{Call: _e.mock.On("WorkflowService")}
}

func (_c *MockClient_WorkflowService_Call) Run(run func()) *MockClient_WorkflowService_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockClient_WorkflowService_Call) Return(workflowServiceClient workflowservice.WorkflowServiceClient) *MockClient_WorkflowService_Call {
	_c.Call.Return(workflowServiceClient)
	return _c
}

func (_c *MockClient_WorkflowService_Call) RunAndReturn(run func() workflowservice.WorkflowServiceClient) *MockClient_WorkflowService_Call {
	_c.Call.Return(run)
	return _c
}
