// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/golang/mock/sample (interfaces: Index,Embed,Embedded)

package mock_sample

import (
	bufio "bufio"
	bytes "bytes"
	gomock "github.com/golang/mock/gomock"
	imp1 "github.com/golang/mock/sample/imp1"
	imp2 "github.com/golang/mock/sample/imp2"
	imp3 "github.com/golang/mock/sample/imp3"
	imp4 "github.com/golang/mock/sample/imp4"
	hash "hash"
	template "html/template"
	io "io"
	http "net/http"
	reflect "reflect"
	template0 "text/template"
)

// MockIndex is a mock of Index interface
type MockIndex struct {
	ctrl     *gomock.Controller
	recorder *MockIndexMockRecorder
}

// MockIndexMockRecorder is the mock recorder for MockIndex
type MockIndexMockRecorder struct {
	mock *MockIndex
}

// NewMockIndex creates a new mock instance
func NewMockIndex(ctrl *gomock.Controller) *MockIndex {
	mock := &MockIndex{ctrl: ctrl}
	mock.recorder = &MockIndexMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use
func (_m *MockIndex) EXPECT() *MockIndexMockRecorder {
	return _m.recorder
}

// Anon mocks base method
func (_m *MockIndex) Anon(_param0 string) {
	_m.ctrl.Call(_m, "Anon", _param0)
}

// Anon indicates an expected call of Anon
func (_mr *MockIndexMockRecorder) Anon(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "Anon", reflect.TypeOf((*MockIndex)(nil).Anon), arg0)
}

// Chan mocks base method
func (_m *MockIndex) Chan(_param0 chan int, _param1 chan<- hash.Hash) {
	_m.ctrl.Call(_m, "Chan", _param0, _param1)
}

// Chan indicates an expected call of Chan
func (_mr *MockIndexMockRecorder) Chan(arg0, arg1 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "Chan", reflect.TypeOf((*MockIndex)(nil).Chan), arg0, arg1)
}

// ConcreteRet mocks base method
func (_m *MockIndex) ConcreteRet() chan<- bool {
	ret := _m.ctrl.Call(_m, "ConcreteRet")
	ret0, _ := ret[0].(chan<- bool)
	return ret0
}

// ConcreteRet indicates an expected call of ConcreteRet
func (_mr *MockIndexMockRecorder) ConcreteRet() *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "ConcreteRet", reflect.TypeOf((*MockIndex)(nil).ConcreteRet))
}

// Ellip mocks base method
func (_m *MockIndex) Ellip(_param0 string, _param1 ...interface{}) {
	_s := []interface{}{_param0}
	for _, _x := range _param1 {
		_s = append(_s, _x)
	}
	_m.ctrl.Call(_m, "Ellip", _s...)
}

// Ellip indicates an expected call of Ellip
func (_mr *MockIndexMockRecorder) Ellip(arg0 interface{}, arg1 ...interface{}) *gomock.Call {
	_s := append([]interface{}{arg0}, arg1...)
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "Ellip", reflect.TypeOf((*MockIndex)(nil).Ellip), _s...)
}

// EllipOnly mocks base method
func (_m *MockIndex) EllipOnly(_param0 ...string) {
	_s := []interface{}{}
	for _, _x := range _param0 {
		_s = append(_s, _x)
	}
	_m.ctrl.Call(_m, "EllipOnly", _s...)
}

// EllipOnly indicates an expected call of EllipOnly
func (_mr *MockIndexMockRecorder) EllipOnly(arg0 ...interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "EllipOnly", reflect.TypeOf((*MockIndex)(nil).EllipOnly), arg0...)
}

// ForeignFour mocks base method
func (_m *MockIndex) ForeignFour(_param0 imp4.Imp4) {
	_m.ctrl.Call(_m, "ForeignFour", _param0)
}

// ForeignFour indicates an expected call of ForeignFour
func (_mr *MockIndexMockRecorder) ForeignFour(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "ForeignFour", reflect.TypeOf((*MockIndex)(nil).ForeignFour), arg0)
}

// ForeignOne mocks base method
func (_m *MockIndex) ForeignOne(_param0 imp1.Imp1) {
	_m.ctrl.Call(_m, "ForeignOne", _param0)
}

// ForeignOne indicates an expected call of ForeignOne
func (_mr *MockIndexMockRecorder) ForeignOne(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "ForeignOne", reflect.TypeOf((*MockIndex)(nil).ForeignOne), arg0)
}

// ForeignThree mocks base method
func (_m *MockIndex) ForeignThree(_param0 imp3.Imp3) {
	_m.ctrl.Call(_m, "ForeignThree", _param0)
}

// ForeignThree indicates an expected call of ForeignThree
func (_mr *MockIndexMockRecorder) ForeignThree(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "ForeignThree", reflect.TypeOf((*MockIndex)(nil).ForeignThree), arg0)
}

// ForeignTwo mocks base method
func (_m *MockIndex) ForeignTwo(_param0 imp2.Imp2) {
	_m.ctrl.Call(_m, "ForeignTwo", _param0)
}

// ForeignTwo indicates an expected call of ForeignTwo
func (_mr *MockIndexMockRecorder) ForeignTwo(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "ForeignTwo", reflect.TypeOf((*MockIndex)(nil).ForeignTwo), arg0)
}

// Func mocks base method
func (_m *MockIndex) Func(_param0 func(http.Request) (int, bool)) {
	_m.ctrl.Call(_m, "Func", _param0)
}

// Func indicates an expected call of Func
func (_mr *MockIndexMockRecorder) Func(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "Func", reflect.TypeOf((*MockIndex)(nil).Func), arg0)
}

// Get mocks base method
func (_m *MockIndex) Get(_param0 string) interface{} {
	ret := _m.ctrl.Call(_m, "Get", _param0)
	ret0, _ := ret[0].(interface{})
	return ret0
}

// Get indicates an expected call of Get
func (_mr *MockIndexMockRecorder) Get(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "Get", reflect.TypeOf((*MockIndex)(nil).Get), arg0)
}

// GetTwo mocks base method
func (_m *MockIndex) GetTwo(_param0 string, _param1 string) (interface{}, interface{}) {
	ret := _m.ctrl.Call(_m, "GetTwo", _param0, _param1)
	ret0, _ := ret[0].(interface{})
	ret1, _ := ret[1].(interface{})
	return ret0, ret1
}

// GetTwo indicates an expected call of GetTwo
func (_mr *MockIndexMockRecorder) GetTwo(arg0, arg1 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "GetTwo", reflect.TypeOf((*MockIndex)(nil).GetTwo), arg0, arg1)
}

// Map mocks base method
func (_m *MockIndex) Map(_param0 map[int]hash.Hash) {
	_m.ctrl.Call(_m, "Map", _param0)
}

// Map indicates an expected call of Map
func (_mr *MockIndexMockRecorder) Map(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "Map", reflect.TypeOf((*MockIndex)(nil).Map), arg0)
}

// NillableRet mocks base method
func (_m *MockIndex) NillableRet() error {
	ret := _m.ctrl.Call(_m, "NillableRet")
	ret0, _ := ret[0].(error)
	return ret0
}

// NillableRet indicates an expected call of NillableRet
func (_mr *MockIndexMockRecorder) NillableRet() *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "NillableRet", reflect.TypeOf((*MockIndex)(nil).NillableRet))
}

// Other mocks base method
func (_m *MockIndex) Other() hash.Hash {
	ret := _m.ctrl.Call(_m, "Other")
	ret0, _ := ret[0].(hash.Hash)
	return ret0
}

// Other indicates an expected call of Other
func (_mr *MockIndexMockRecorder) Other() *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "Other", reflect.TypeOf((*MockIndex)(nil).Other))
}

// Ptr mocks base method
func (_m *MockIndex) Ptr(_param0 *int) {
	_m.ctrl.Call(_m, "Ptr", _param0)
}

// Ptr indicates an expected call of Ptr
func (_mr *MockIndexMockRecorder) Ptr(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "Ptr", reflect.TypeOf((*MockIndex)(nil).Ptr), arg0)
}

// Put mocks base method
func (_m *MockIndex) Put(_param0 string, _param1 interface{}) {
	_m.ctrl.Call(_m, "Put", _param0, _param1)
}

// Put indicates an expected call of Put
func (_mr *MockIndexMockRecorder) Put(arg0, arg1 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "Put", reflect.TypeOf((*MockIndex)(nil).Put), arg0, arg1)
}

// Slice mocks base method
func (_m *MockIndex) Slice(_param0 []int, _param1 []byte) [3]int {
	ret := _m.ctrl.Call(_m, "Slice", _param0, _param1)
	ret0, _ := ret[0].([3]int)
	return ret0
}

// Slice indicates an expected call of Slice
func (_mr *MockIndexMockRecorder) Slice(arg0, arg1 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "Slice", reflect.TypeOf((*MockIndex)(nil).Slice), arg0, arg1)
}

// Struct mocks base method
func (_m *MockIndex) Struct(_param0 struct{}) {
	_m.ctrl.Call(_m, "Struct", _param0)
}

// Struct indicates an expected call of Struct
func (_mr *MockIndexMockRecorder) Struct(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "Struct", reflect.TypeOf((*MockIndex)(nil).Struct), arg0)
}

// StructChan mocks base method
func (_m *MockIndex) StructChan(_param0 chan struct{}) {
	_m.ctrl.Call(_m, "StructChan", _param0)
}

// StructChan indicates an expected call of StructChan
func (_mr *MockIndexMockRecorder) StructChan(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "StructChan", reflect.TypeOf((*MockIndex)(nil).StructChan), arg0)
}

// Summary mocks base method
func (_m *MockIndex) Summary(_param0 *bytes.Buffer, _param1 io.Writer) {
	_m.ctrl.Call(_m, "Summary", _param0, _param1)
}

// Summary indicates an expected call of Summary
func (_mr *MockIndexMockRecorder) Summary(arg0, arg1 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "Summary", reflect.TypeOf((*MockIndex)(nil).Summary), arg0, arg1)
}

// Templates mocks base method
func (_m *MockIndex) Templates(_param0 template.CSS, _param1 template0.FuncMap) {
	_m.ctrl.Call(_m, "Templates", _param0, _param1)
}

// Templates indicates an expected call of Templates
func (_mr *MockIndexMockRecorder) Templates(arg0, arg1 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "Templates", reflect.TypeOf((*MockIndex)(nil).Templates), arg0, arg1)
}

// MockEmbed is a mock of Embed interface
type MockEmbed struct {
	ctrl     *gomock.Controller
	recorder *MockEmbedMockRecorder
}

// MockEmbedMockRecorder is the mock recorder for MockEmbed
type MockEmbedMockRecorder struct {
	mock *MockEmbed
}

// NewMockEmbed creates a new mock instance
func NewMockEmbed(ctrl *gomock.Controller) *MockEmbed {
	mock := &MockEmbed{ctrl: ctrl}
	mock.recorder = &MockEmbedMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use
func (_m *MockEmbed) EXPECT() *MockEmbedMockRecorder {
	return _m.recorder
}

// EmbeddedMethod mocks base method
func (_m *MockEmbed) EmbeddedMethod() {
	_m.ctrl.Call(_m, "EmbeddedMethod")
}

// EmbeddedMethod indicates an expected call of EmbeddedMethod
func (_mr *MockEmbedMockRecorder) EmbeddedMethod() *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "EmbeddedMethod", reflect.TypeOf((*MockEmbed)(nil).EmbeddedMethod))
}

// ForeignEmbeddedMethod mocks base method
func (_m *MockEmbed) ForeignEmbeddedMethod() *bufio.Reader {
	ret := _m.ctrl.Call(_m, "ForeignEmbeddedMethod")
	ret0, _ := ret[0].(*bufio.Reader)
	return ret0
}

// ForeignEmbeddedMethod indicates an expected call of ForeignEmbeddedMethod
func (_mr *MockEmbedMockRecorder) ForeignEmbeddedMethod() *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "ForeignEmbeddedMethod", reflect.TypeOf((*MockEmbed)(nil).ForeignEmbeddedMethod))
}

// ImplicitPackage mocks base method
func (_m *MockEmbed) ImplicitPackage(_param0 string, _param1 imp1.ImpT, _param2 []imp1.ImpT, _param3 *imp1.ImpT, _param4 chan imp1.ImpT) {
	_m.ctrl.Call(_m, "ImplicitPackage", _param0, _param1, _param2, _param3, _param4)
}

// ImplicitPackage indicates an expected call of ImplicitPackage
func (_mr *MockEmbedMockRecorder) ImplicitPackage(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "ImplicitPackage", reflect.TypeOf((*MockEmbed)(nil).ImplicitPackage), arg0, arg1, arg2, arg3, arg4)
}

// RegularMethod mocks base method
func (_m *MockEmbed) RegularMethod() {
	_m.ctrl.Call(_m, "RegularMethod")
}

// RegularMethod indicates an expected call of RegularMethod
func (_mr *MockEmbedMockRecorder) RegularMethod() *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "RegularMethod", reflect.TypeOf((*MockEmbed)(nil).RegularMethod))
}

// MockEmbedded is a mock of Embedded interface
type MockEmbedded struct {
	ctrl     *gomock.Controller
	recorder *MockEmbeddedMockRecorder
}

// MockEmbeddedMockRecorder is the mock recorder for MockEmbedded
type MockEmbeddedMockRecorder struct {
	mock *MockEmbedded
}

// NewMockEmbedded creates a new mock instance
func NewMockEmbedded(ctrl *gomock.Controller) *MockEmbedded {
	mock := &MockEmbedded{ctrl: ctrl}
	mock.recorder = &MockEmbeddedMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use
func (_m *MockEmbedded) EXPECT() *MockEmbeddedMockRecorder {
	return _m.recorder
}

// EmbeddedMethod mocks base method
func (_m *MockEmbedded) EmbeddedMethod() {
	_m.ctrl.Call(_m, "EmbeddedMethod")
}

// EmbeddedMethod indicates an expected call of EmbeddedMethod
func (_mr *MockEmbeddedMockRecorder) EmbeddedMethod() *gomock.Call {
	return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "EmbeddedMethod", reflect.TypeOf((*MockEmbedded)(nil).EmbeddedMethod))
}
