// Code generated by MockGen. DO NOT EDIT.
// Source: email_template.go

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

import (
	context "context"
	reflect "reflect"

	management "github.com/auth0/go-auth0/management"
	gomock "github.com/golang/mock/gomock"
)

// MockEmailTemplateAPI is a mock of EmailTemplateAPI interface.
type MockEmailTemplateAPI struct {
	ctrl     *gomock.Controller
	recorder *MockEmailTemplateAPIMockRecorder
}

// MockEmailTemplateAPIMockRecorder is the mock recorder for MockEmailTemplateAPI.
type MockEmailTemplateAPIMockRecorder struct {
	mock *MockEmailTemplateAPI
}

// NewMockEmailTemplateAPI creates a new mock instance.
func NewMockEmailTemplateAPI(ctrl *gomock.Controller) *MockEmailTemplateAPI {
	mock := &MockEmailTemplateAPI{ctrl: ctrl}
	mock.recorder = &MockEmailTemplateAPIMockRecorder{mock}
	return mock
}

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

// Create mocks base method.
func (m *MockEmailTemplateAPI) Create(ctx context.Context, template *management.EmailTemplate, opts ...management.RequestOption) error {
	m.ctrl.T.Helper()
	varargs := []interface{}{ctx, template}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "Create", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// Create indicates an expected call of Create.
func (mr *MockEmailTemplateAPIMockRecorder) Create(ctx, template interface{}, opts ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{ctx, template}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockEmailTemplateAPI)(nil).Create), varargs...)
}

// Read mocks base method.
func (m *MockEmailTemplateAPI) Read(ctx context.Context, template string, opts ...management.RequestOption) (*management.EmailTemplate, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{ctx, template}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "Read", varargs...)
	ret0, _ := ret[0].(*management.EmailTemplate)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Read indicates an expected call of Read.
func (mr *MockEmailTemplateAPIMockRecorder) Read(ctx, template interface{}, opts ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{ctx, template}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Read", reflect.TypeOf((*MockEmailTemplateAPI)(nil).Read), varargs...)
}

// Update mocks base method.
func (m *MockEmailTemplateAPI) Update(ctx context.Context, template string, e *management.EmailTemplate, opts ...management.RequestOption) error {
	m.ctrl.T.Helper()
	varargs := []interface{}{ctx, template, e}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "Update", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// Update indicates an expected call of Update.
func (mr *MockEmailTemplateAPIMockRecorder) Update(ctx, template, e interface{}, opts ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{ctx, template, e}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockEmailTemplateAPI)(nil).Update), varargs...)
}
