// Code generated by mockery v2.14.0. DO NOT EDIT.

package mocks

import (
	context "context"

	request "github.com/aws/aws-sdk-go/aws/request"
	mock "github.com/stretchr/testify/mock"

	sqs "github.com/aws/aws-sdk-go/service/sqs"
)

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

// AddPermission provides a mock function with given fields: _a0
func (_m *SQSAPI) AddPermission(_a0 *sqs.AddPermissionInput) (*sqs.AddPermissionOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.AddPermissionOutput
	if rf, ok := ret.Get(0).(func(*sqs.AddPermissionInput) *sqs.AddPermissionOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.AddPermissionOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.AddPermissionInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// AddPermissionRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) AddPermissionRequest(_a0 *sqs.AddPermissionInput) (*request.Request, *sqs.AddPermissionOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.AddPermissionInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.AddPermissionOutput
	if rf, ok := ret.Get(1).(func(*sqs.AddPermissionInput) *sqs.AddPermissionOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.AddPermissionOutput)
		}
	}

	return r0, r1
}

// AddPermissionWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) AddPermissionWithContext(_a0 context.Context, _a1 *sqs.AddPermissionInput, _a2 ...request.Option) (*sqs.AddPermissionOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.AddPermissionOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.AddPermissionInput, ...request.Option) *sqs.AddPermissionOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.AddPermissionOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.AddPermissionInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ChangeMessageVisibility provides a mock function with given fields: _a0
func (_m *SQSAPI) ChangeMessageVisibility(_a0 *sqs.ChangeMessageVisibilityInput) (*sqs.ChangeMessageVisibilityOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.ChangeMessageVisibilityOutput
	if rf, ok := ret.Get(0).(func(*sqs.ChangeMessageVisibilityInput) *sqs.ChangeMessageVisibilityOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.ChangeMessageVisibilityOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.ChangeMessageVisibilityInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ChangeMessageVisibilityBatch provides a mock function with given fields: _a0
func (_m *SQSAPI) ChangeMessageVisibilityBatch(_a0 *sqs.ChangeMessageVisibilityBatchInput) (*sqs.ChangeMessageVisibilityBatchOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.ChangeMessageVisibilityBatchOutput
	if rf, ok := ret.Get(0).(func(*sqs.ChangeMessageVisibilityBatchInput) *sqs.ChangeMessageVisibilityBatchOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.ChangeMessageVisibilityBatchOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.ChangeMessageVisibilityBatchInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ChangeMessageVisibilityBatchRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) ChangeMessageVisibilityBatchRequest(_a0 *sqs.ChangeMessageVisibilityBatchInput) (*request.Request, *sqs.ChangeMessageVisibilityBatchOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.ChangeMessageVisibilityBatchInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.ChangeMessageVisibilityBatchOutput
	if rf, ok := ret.Get(1).(func(*sqs.ChangeMessageVisibilityBatchInput) *sqs.ChangeMessageVisibilityBatchOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.ChangeMessageVisibilityBatchOutput)
		}
	}

	return r0, r1
}

// ChangeMessageVisibilityBatchWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) ChangeMessageVisibilityBatchWithContext(_a0 context.Context, _a1 *sqs.ChangeMessageVisibilityBatchInput, _a2 ...request.Option) (*sqs.ChangeMessageVisibilityBatchOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.ChangeMessageVisibilityBatchOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.ChangeMessageVisibilityBatchInput, ...request.Option) *sqs.ChangeMessageVisibilityBatchOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.ChangeMessageVisibilityBatchOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.ChangeMessageVisibilityBatchInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ChangeMessageVisibilityRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) ChangeMessageVisibilityRequest(_a0 *sqs.ChangeMessageVisibilityInput) (*request.Request, *sqs.ChangeMessageVisibilityOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.ChangeMessageVisibilityInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.ChangeMessageVisibilityOutput
	if rf, ok := ret.Get(1).(func(*sqs.ChangeMessageVisibilityInput) *sqs.ChangeMessageVisibilityOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.ChangeMessageVisibilityOutput)
		}
	}

	return r0, r1
}

// ChangeMessageVisibilityWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) ChangeMessageVisibilityWithContext(_a0 context.Context, _a1 *sqs.ChangeMessageVisibilityInput, _a2 ...request.Option) (*sqs.ChangeMessageVisibilityOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.ChangeMessageVisibilityOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.ChangeMessageVisibilityInput, ...request.Option) *sqs.ChangeMessageVisibilityOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.ChangeMessageVisibilityOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.ChangeMessageVisibilityInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreateQueue provides a mock function with given fields: _a0
func (_m *SQSAPI) CreateQueue(_a0 *sqs.CreateQueueInput) (*sqs.CreateQueueOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.CreateQueueOutput
	if rf, ok := ret.Get(0).(func(*sqs.CreateQueueInput) *sqs.CreateQueueOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.CreateQueueOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.CreateQueueInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreateQueueRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) CreateQueueRequest(_a0 *sqs.CreateQueueInput) (*request.Request, *sqs.CreateQueueOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.CreateQueueInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.CreateQueueOutput
	if rf, ok := ret.Get(1).(func(*sqs.CreateQueueInput) *sqs.CreateQueueOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.CreateQueueOutput)
		}
	}

	return r0, r1
}

// CreateQueueWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) CreateQueueWithContext(_a0 context.Context, _a1 *sqs.CreateQueueInput, _a2 ...request.Option) (*sqs.CreateQueueOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.CreateQueueOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.CreateQueueInput, ...request.Option) *sqs.CreateQueueOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.CreateQueueOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.CreateQueueInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteMessage provides a mock function with given fields: _a0
func (_m *SQSAPI) DeleteMessage(_a0 *sqs.DeleteMessageInput) (*sqs.DeleteMessageOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.DeleteMessageOutput
	if rf, ok := ret.Get(0).(func(*sqs.DeleteMessageInput) *sqs.DeleteMessageOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.DeleteMessageOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.DeleteMessageInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteMessageBatch provides a mock function with given fields: _a0
func (_m *SQSAPI) DeleteMessageBatch(_a0 *sqs.DeleteMessageBatchInput) (*sqs.DeleteMessageBatchOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.DeleteMessageBatchOutput
	if rf, ok := ret.Get(0).(func(*sqs.DeleteMessageBatchInput) *sqs.DeleteMessageBatchOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.DeleteMessageBatchOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.DeleteMessageBatchInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteMessageBatchRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) DeleteMessageBatchRequest(_a0 *sqs.DeleteMessageBatchInput) (*request.Request, *sqs.DeleteMessageBatchOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.DeleteMessageBatchInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.DeleteMessageBatchOutput
	if rf, ok := ret.Get(1).(func(*sqs.DeleteMessageBatchInput) *sqs.DeleteMessageBatchOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.DeleteMessageBatchOutput)
		}
	}

	return r0, r1
}

// DeleteMessageBatchWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) DeleteMessageBatchWithContext(_a0 context.Context, _a1 *sqs.DeleteMessageBatchInput, _a2 ...request.Option) (*sqs.DeleteMessageBatchOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.DeleteMessageBatchOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.DeleteMessageBatchInput, ...request.Option) *sqs.DeleteMessageBatchOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.DeleteMessageBatchOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.DeleteMessageBatchInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteMessageRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) DeleteMessageRequest(_a0 *sqs.DeleteMessageInput) (*request.Request, *sqs.DeleteMessageOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.DeleteMessageInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.DeleteMessageOutput
	if rf, ok := ret.Get(1).(func(*sqs.DeleteMessageInput) *sqs.DeleteMessageOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.DeleteMessageOutput)
		}
	}

	return r0, r1
}

// DeleteMessageWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) DeleteMessageWithContext(_a0 context.Context, _a1 *sqs.DeleteMessageInput, _a2 ...request.Option) (*sqs.DeleteMessageOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.DeleteMessageOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.DeleteMessageInput, ...request.Option) *sqs.DeleteMessageOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.DeleteMessageOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.DeleteMessageInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteQueue provides a mock function with given fields: _a0
func (_m *SQSAPI) DeleteQueue(_a0 *sqs.DeleteQueueInput) (*sqs.DeleteQueueOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.DeleteQueueOutput
	if rf, ok := ret.Get(0).(func(*sqs.DeleteQueueInput) *sqs.DeleteQueueOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.DeleteQueueOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.DeleteQueueInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteQueueRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) DeleteQueueRequest(_a0 *sqs.DeleteQueueInput) (*request.Request, *sqs.DeleteQueueOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.DeleteQueueInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.DeleteQueueOutput
	if rf, ok := ret.Get(1).(func(*sqs.DeleteQueueInput) *sqs.DeleteQueueOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.DeleteQueueOutput)
		}
	}

	return r0, r1
}

// DeleteQueueWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) DeleteQueueWithContext(_a0 context.Context, _a1 *sqs.DeleteQueueInput, _a2 ...request.Option) (*sqs.DeleteQueueOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.DeleteQueueOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.DeleteQueueInput, ...request.Option) *sqs.DeleteQueueOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.DeleteQueueOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.DeleteQueueInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetQueueAttributes provides a mock function with given fields: _a0
func (_m *SQSAPI) GetQueueAttributes(_a0 *sqs.GetQueueAttributesInput) (*sqs.GetQueueAttributesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.GetQueueAttributesOutput
	if rf, ok := ret.Get(0).(func(*sqs.GetQueueAttributesInput) *sqs.GetQueueAttributesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.GetQueueAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.GetQueueAttributesInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetQueueAttributesRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) GetQueueAttributesRequest(_a0 *sqs.GetQueueAttributesInput) (*request.Request, *sqs.GetQueueAttributesOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.GetQueueAttributesInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.GetQueueAttributesOutput
	if rf, ok := ret.Get(1).(func(*sqs.GetQueueAttributesInput) *sqs.GetQueueAttributesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.GetQueueAttributesOutput)
		}
	}

	return r0, r1
}

// GetQueueAttributesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) GetQueueAttributesWithContext(_a0 context.Context, _a1 *sqs.GetQueueAttributesInput, _a2 ...request.Option) (*sqs.GetQueueAttributesOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.GetQueueAttributesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.GetQueueAttributesInput, ...request.Option) *sqs.GetQueueAttributesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.GetQueueAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.GetQueueAttributesInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetQueueUrl provides a mock function with given fields: _a0
func (_m *SQSAPI) GetQueueUrl(_a0 *sqs.GetQueueUrlInput) (*sqs.GetQueueUrlOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.GetQueueUrlOutput
	if rf, ok := ret.Get(0).(func(*sqs.GetQueueUrlInput) *sqs.GetQueueUrlOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.GetQueueUrlOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.GetQueueUrlInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetQueueUrlRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) GetQueueUrlRequest(_a0 *sqs.GetQueueUrlInput) (*request.Request, *sqs.GetQueueUrlOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.GetQueueUrlInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.GetQueueUrlOutput
	if rf, ok := ret.Get(1).(func(*sqs.GetQueueUrlInput) *sqs.GetQueueUrlOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.GetQueueUrlOutput)
		}
	}

	return r0, r1
}

// GetQueueUrlWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) GetQueueUrlWithContext(_a0 context.Context, _a1 *sqs.GetQueueUrlInput, _a2 ...request.Option) (*sqs.GetQueueUrlOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.GetQueueUrlOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.GetQueueUrlInput, ...request.Option) *sqs.GetQueueUrlOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.GetQueueUrlOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.GetQueueUrlInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListDeadLetterSourceQueues provides a mock function with given fields: _a0
func (_m *SQSAPI) ListDeadLetterSourceQueues(_a0 *sqs.ListDeadLetterSourceQueuesInput) (*sqs.ListDeadLetterSourceQueuesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.ListDeadLetterSourceQueuesOutput
	if rf, ok := ret.Get(0).(func(*sqs.ListDeadLetterSourceQueuesInput) *sqs.ListDeadLetterSourceQueuesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.ListDeadLetterSourceQueuesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.ListDeadLetterSourceQueuesInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListDeadLetterSourceQueuesPages provides a mock function with given fields: _a0, _a1
func (_m *SQSAPI) ListDeadLetterSourceQueuesPages(_a0 *sqs.ListDeadLetterSourceQueuesInput, _a1 func(*sqs.ListDeadLetterSourceQueuesOutput, bool) bool) error {
	ret := _m.Called(_a0, _a1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*sqs.ListDeadLetterSourceQueuesInput, func(*sqs.ListDeadLetterSourceQueuesOutput, bool) bool) error); ok {
		r0 = rf(_a0, _a1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListDeadLetterSourceQueuesPagesWithContext provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *SQSAPI) ListDeadLetterSourceQueuesPagesWithContext(_a0 context.Context, _a1 *sqs.ListDeadLetterSourceQueuesInput, _a2 func(*sqs.ListDeadLetterSourceQueuesOutput, bool) bool, _a3 ...request.Option) error {
	_va := make([]interface{}, len(_a3))
	for _i := range _a3 {
		_va[_i] = _a3[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1, _a2)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.ListDeadLetterSourceQueuesInput, func(*sqs.ListDeadLetterSourceQueuesOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListDeadLetterSourceQueuesRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) ListDeadLetterSourceQueuesRequest(_a0 *sqs.ListDeadLetterSourceQueuesInput) (*request.Request, *sqs.ListDeadLetterSourceQueuesOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.ListDeadLetterSourceQueuesInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.ListDeadLetterSourceQueuesOutput
	if rf, ok := ret.Get(1).(func(*sqs.ListDeadLetterSourceQueuesInput) *sqs.ListDeadLetterSourceQueuesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.ListDeadLetterSourceQueuesOutput)
		}
	}

	return r0, r1
}

// ListDeadLetterSourceQueuesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) ListDeadLetterSourceQueuesWithContext(_a0 context.Context, _a1 *sqs.ListDeadLetterSourceQueuesInput, _a2 ...request.Option) (*sqs.ListDeadLetterSourceQueuesOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.ListDeadLetterSourceQueuesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.ListDeadLetterSourceQueuesInput, ...request.Option) *sqs.ListDeadLetterSourceQueuesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.ListDeadLetterSourceQueuesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.ListDeadLetterSourceQueuesInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListQueueTags provides a mock function with given fields: _a0
func (_m *SQSAPI) ListQueueTags(_a0 *sqs.ListQueueTagsInput) (*sqs.ListQueueTagsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.ListQueueTagsOutput
	if rf, ok := ret.Get(0).(func(*sqs.ListQueueTagsInput) *sqs.ListQueueTagsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.ListQueueTagsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.ListQueueTagsInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListQueueTagsRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) ListQueueTagsRequest(_a0 *sqs.ListQueueTagsInput) (*request.Request, *sqs.ListQueueTagsOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.ListQueueTagsInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.ListQueueTagsOutput
	if rf, ok := ret.Get(1).(func(*sqs.ListQueueTagsInput) *sqs.ListQueueTagsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.ListQueueTagsOutput)
		}
	}

	return r0, r1
}

// ListQueueTagsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) ListQueueTagsWithContext(_a0 context.Context, _a1 *sqs.ListQueueTagsInput, _a2 ...request.Option) (*sqs.ListQueueTagsOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.ListQueueTagsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.ListQueueTagsInput, ...request.Option) *sqs.ListQueueTagsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.ListQueueTagsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.ListQueueTagsInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListQueues provides a mock function with given fields: _a0
func (_m *SQSAPI) ListQueues(_a0 *sqs.ListQueuesInput) (*sqs.ListQueuesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.ListQueuesOutput
	if rf, ok := ret.Get(0).(func(*sqs.ListQueuesInput) *sqs.ListQueuesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.ListQueuesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.ListQueuesInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListQueuesPages provides a mock function with given fields: _a0, _a1
func (_m *SQSAPI) ListQueuesPages(_a0 *sqs.ListQueuesInput, _a1 func(*sqs.ListQueuesOutput, bool) bool) error {
	ret := _m.Called(_a0, _a1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*sqs.ListQueuesInput, func(*sqs.ListQueuesOutput, bool) bool) error); ok {
		r0 = rf(_a0, _a1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListQueuesPagesWithContext provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *SQSAPI) ListQueuesPagesWithContext(_a0 context.Context, _a1 *sqs.ListQueuesInput, _a2 func(*sqs.ListQueuesOutput, bool) bool, _a3 ...request.Option) error {
	_va := make([]interface{}, len(_a3))
	for _i := range _a3 {
		_va[_i] = _a3[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1, _a2)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.ListQueuesInput, func(*sqs.ListQueuesOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListQueuesRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) ListQueuesRequest(_a0 *sqs.ListQueuesInput) (*request.Request, *sqs.ListQueuesOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.ListQueuesInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.ListQueuesOutput
	if rf, ok := ret.Get(1).(func(*sqs.ListQueuesInput) *sqs.ListQueuesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.ListQueuesOutput)
		}
	}

	return r0, r1
}

// ListQueuesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) ListQueuesWithContext(_a0 context.Context, _a1 *sqs.ListQueuesInput, _a2 ...request.Option) (*sqs.ListQueuesOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.ListQueuesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.ListQueuesInput, ...request.Option) *sqs.ListQueuesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.ListQueuesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.ListQueuesInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// PurgeQueue provides a mock function with given fields: _a0
func (_m *SQSAPI) PurgeQueue(_a0 *sqs.PurgeQueueInput) (*sqs.PurgeQueueOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.PurgeQueueOutput
	if rf, ok := ret.Get(0).(func(*sqs.PurgeQueueInput) *sqs.PurgeQueueOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.PurgeQueueOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.PurgeQueueInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// PurgeQueueRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) PurgeQueueRequest(_a0 *sqs.PurgeQueueInput) (*request.Request, *sqs.PurgeQueueOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.PurgeQueueInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.PurgeQueueOutput
	if rf, ok := ret.Get(1).(func(*sqs.PurgeQueueInput) *sqs.PurgeQueueOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.PurgeQueueOutput)
		}
	}

	return r0, r1
}

// PurgeQueueWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) PurgeQueueWithContext(_a0 context.Context, _a1 *sqs.PurgeQueueInput, _a2 ...request.Option) (*sqs.PurgeQueueOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.PurgeQueueOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.PurgeQueueInput, ...request.Option) *sqs.PurgeQueueOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.PurgeQueueOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.PurgeQueueInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ReceiveMessage provides a mock function with given fields: _a0
func (_m *SQSAPI) ReceiveMessage(_a0 *sqs.ReceiveMessageInput) (*sqs.ReceiveMessageOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.ReceiveMessageOutput
	if rf, ok := ret.Get(0).(func(*sqs.ReceiveMessageInput) *sqs.ReceiveMessageOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.ReceiveMessageOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.ReceiveMessageInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ReceiveMessageRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) ReceiveMessageRequest(_a0 *sqs.ReceiveMessageInput) (*request.Request, *sqs.ReceiveMessageOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.ReceiveMessageInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.ReceiveMessageOutput
	if rf, ok := ret.Get(1).(func(*sqs.ReceiveMessageInput) *sqs.ReceiveMessageOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.ReceiveMessageOutput)
		}
	}

	return r0, r1
}

// ReceiveMessageWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) ReceiveMessageWithContext(_a0 context.Context, _a1 *sqs.ReceiveMessageInput, _a2 ...request.Option) (*sqs.ReceiveMessageOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.ReceiveMessageOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.ReceiveMessageInput, ...request.Option) *sqs.ReceiveMessageOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.ReceiveMessageOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.ReceiveMessageInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// RemovePermission provides a mock function with given fields: _a0
func (_m *SQSAPI) RemovePermission(_a0 *sqs.RemovePermissionInput) (*sqs.RemovePermissionOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.RemovePermissionOutput
	if rf, ok := ret.Get(0).(func(*sqs.RemovePermissionInput) *sqs.RemovePermissionOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.RemovePermissionOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.RemovePermissionInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// RemovePermissionRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) RemovePermissionRequest(_a0 *sqs.RemovePermissionInput) (*request.Request, *sqs.RemovePermissionOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.RemovePermissionInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.RemovePermissionOutput
	if rf, ok := ret.Get(1).(func(*sqs.RemovePermissionInput) *sqs.RemovePermissionOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.RemovePermissionOutput)
		}
	}

	return r0, r1
}

// RemovePermissionWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) RemovePermissionWithContext(_a0 context.Context, _a1 *sqs.RemovePermissionInput, _a2 ...request.Option) (*sqs.RemovePermissionOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.RemovePermissionOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.RemovePermissionInput, ...request.Option) *sqs.RemovePermissionOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.RemovePermissionOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.RemovePermissionInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SendMessage provides a mock function with given fields: _a0
func (_m *SQSAPI) SendMessage(_a0 *sqs.SendMessageInput) (*sqs.SendMessageOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.SendMessageOutput
	if rf, ok := ret.Get(0).(func(*sqs.SendMessageInput) *sqs.SendMessageOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.SendMessageOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.SendMessageInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SendMessageBatch provides a mock function with given fields: _a0
func (_m *SQSAPI) SendMessageBatch(_a0 *sqs.SendMessageBatchInput) (*sqs.SendMessageBatchOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.SendMessageBatchOutput
	if rf, ok := ret.Get(0).(func(*sqs.SendMessageBatchInput) *sqs.SendMessageBatchOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.SendMessageBatchOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.SendMessageBatchInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SendMessageBatchRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) SendMessageBatchRequest(_a0 *sqs.SendMessageBatchInput) (*request.Request, *sqs.SendMessageBatchOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.SendMessageBatchInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.SendMessageBatchOutput
	if rf, ok := ret.Get(1).(func(*sqs.SendMessageBatchInput) *sqs.SendMessageBatchOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.SendMessageBatchOutput)
		}
	}

	return r0, r1
}

// SendMessageBatchWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) SendMessageBatchWithContext(_a0 context.Context, _a1 *sqs.SendMessageBatchInput, _a2 ...request.Option) (*sqs.SendMessageBatchOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.SendMessageBatchOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.SendMessageBatchInput, ...request.Option) *sqs.SendMessageBatchOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.SendMessageBatchOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.SendMessageBatchInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SendMessageRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) SendMessageRequest(_a0 *sqs.SendMessageInput) (*request.Request, *sqs.SendMessageOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.SendMessageInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.SendMessageOutput
	if rf, ok := ret.Get(1).(func(*sqs.SendMessageInput) *sqs.SendMessageOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.SendMessageOutput)
		}
	}

	return r0, r1
}

// SendMessageWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) SendMessageWithContext(_a0 context.Context, _a1 *sqs.SendMessageInput, _a2 ...request.Option) (*sqs.SendMessageOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.SendMessageOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.SendMessageInput, ...request.Option) *sqs.SendMessageOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.SendMessageOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.SendMessageInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SetQueueAttributes provides a mock function with given fields: _a0
func (_m *SQSAPI) SetQueueAttributes(_a0 *sqs.SetQueueAttributesInput) (*sqs.SetQueueAttributesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.SetQueueAttributesOutput
	if rf, ok := ret.Get(0).(func(*sqs.SetQueueAttributesInput) *sqs.SetQueueAttributesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.SetQueueAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.SetQueueAttributesInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SetQueueAttributesRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) SetQueueAttributesRequest(_a0 *sqs.SetQueueAttributesInput) (*request.Request, *sqs.SetQueueAttributesOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.SetQueueAttributesInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.SetQueueAttributesOutput
	if rf, ok := ret.Get(1).(func(*sqs.SetQueueAttributesInput) *sqs.SetQueueAttributesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.SetQueueAttributesOutput)
		}
	}

	return r0, r1
}

// SetQueueAttributesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) SetQueueAttributesWithContext(_a0 context.Context, _a1 *sqs.SetQueueAttributesInput, _a2 ...request.Option) (*sqs.SetQueueAttributesOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.SetQueueAttributesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.SetQueueAttributesInput, ...request.Option) *sqs.SetQueueAttributesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.SetQueueAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.SetQueueAttributesInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// TagQueue provides a mock function with given fields: _a0
func (_m *SQSAPI) TagQueue(_a0 *sqs.TagQueueInput) (*sqs.TagQueueOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.TagQueueOutput
	if rf, ok := ret.Get(0).(func(*sqs.TagQueueInput) *sqs.TagQueueOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.TagQueueOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.TagQueueInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// TagQueueRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) TagQueueRequest(_a0 *sqs.TagQueueInput) (*request.Request, *sqs.TagQueueOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.TagQueueInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.TagQueueOutput
	if rf, ok := ret.Get(1).(func(*sqs.TagQueueInput) *sqs.TagQueueOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.TagQueueOutput)
		}
	}

	return r0, r1
}

// TagQueueWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) TagQueueWithContext(_a0 context.Context, _a1 *sqs.TagQueueInput, _a2 ...request.Option) (*sqs.TagQueueOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.TagQueueOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.TagQueueInput, ...request.Option) *sqs.TagQueueOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.TagQueueOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.TagQueueInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// UntagQueue provides a mock function with given fields: _a0
func (_m *SQSAPI) UntagQueue(_a0 *sqs.UntagQueueInput) (*sqs.UntagQueueOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sqs.UntagQueueOutput
	if rf, ok := ret.Get(0).(func(*sqs.UntagQueueInput) *sqs.UntagQueueOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.UntagQueueOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sqs.UntagQueueInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// UntagQueueRequest provides a mock function with given fields: _a0
func (_m *SQSAPI) UntagQueueRequest(_a0 *sqs.UntagQueueInput) (*request.Request, *sqs.UntagQueueOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*sqs.UntagQueueInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *sqs.UntagQueueOutput
	if rf, ok := ret.Get(1).(func(*sqs.UntagQueueInput) *sqs.UntagQueueOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sqs.UntagQueueOutput)
		}
	}

	return r0, r1
}

// UntagQueueWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *SQSAPI) UntagQueueWithContext(_a0 context.Context, _a1 *sqs.UntagQueueInput, _a2 ...request.Option) (*sqs.UntagQueueOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sqs.UntagQueueOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sqs.UntagQueueInput, ...request.Option) *sqs.UntagQueueOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sqs.UntagQueueOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sqs.UntagQueueInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

type mockConstructorTestingTNewSQSAPI interface {
	mock.TestingT
	Cleanup(func())
}

// NewSQSAPI creates a new instance of SQSAPI. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
func NewSQSAPI(t mockConstructorTestingTNewSQSAPI) *SQSAPI {
	mock := &SQSAPI{}
	mock.Mock.Test(t)

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

	return mock
}
