// Code generated by MockGen. DO NOT EDIT.
// Source: sigsum.org/sigsum-go/pkg/api (interfaces: Log,Secondary,Witness)

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

import (
	context "context"
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	checkpoint "sigsum.org/sigsum-go/pkg/checkpoint"
	requests "sigsum.org/sigsum-go/pkg/requests"
	token "sigsum.org/sigsum-go/pkg/submit-token"
	types "sigsum.org/sigsum-go/pkg/types"
)

// MockLog is a mock of Log interface.
type MockLog struct {
	ctrl     *gomock.Controller
	recorder *MockLogMockRecorder
}

// MockLogMockRecorder is the mock recorder for MockLog.
type MockLogMockRecorder struct {
	mock *MockLog
}

// NewMockLog creates a new mock instance.
func NewMockLog(ctrl *gomock.Controller) *MockLog {
	mock := &MockLog{ctrl: ctrl}
	mock.recorder = &MockLogMockRecorder{mock}
	return mock
}

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

// AddLeaf mocks base method.
func (m *MockLog) AddLeaf(arg0 context.Context, arg1 requests.Leaf, arg2 *token.SubmitHeader) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AddLeaf", arg0, arg1, arg2)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// AddLeaf indicates an expected call of AddLeaf.
func (mr *MockLogMockRecorder) AddLeaf(arg0, arg1, arg2 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddLeaf", reflect.TypeOf((*MockLog)(nil).AddLeaf), arg0, arg1, arg2)
}

// GetConsistencyProof mocks base method.
func (m *MockLog) GetConsistencyProof(arg0 context.Context, arg1 requests.ConsistencyProof) (types.ConsistencyProof, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetConsistencyProof", arg0, arg1)
	ret0, _ := ret[0].(types.ConsistencyProof)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetConsistencyProof indicates an expected call of GetConsistencyProof.
func (mr *MockLogMockRecorder) GetConsistencyProof(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetConsistencyProof", reflect.TypeOf((*MockLog)(nil).GetConsistencyProof), arg0, arg1)
}

// GetInclusionProof mocks base method.
func (m *MockLog) GetInclusionProof(arg0 context.Context, arg1 requests.InclusionProof) (types.InclusionProof, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetInclusionProof", arg0, arg1)
	ret0, _ := ret[0].(types.InclusionProof)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetInclusionProof indicates an expected call of GetInclusionProof.
func (mr *MockLogMockRecorder) GetInclusionProof(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetInclusionProof", reflect.TypeOf((*MockLog)(nil).GetInclusionProof), arg0, arg1)
}

// GetLeaves mocks base method.
func (m *MockLog) GetLeaves(arg0 context.Context, arg1 requests.Leaves) ([]types.Leaf, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetLeaves", arg0, arg1)
	ret0, _ := ret[0].([]types.Leaf)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetLeaves indicates an expected call of GetLeaves.
func (mr *MockLogMockRecorder) GetLeaves(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLeaves", reflect.TypeOf((*MockLog)(nil).GetLeaves), arg0, arg1)
}

// GetTreeHead mocks base method.
func (m *MockLog) GetTreeHead(arg0 context.Context) (types.CosignedTreeHead, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetTreeHead", arg0)
	ret0, _ := ret[0].(types.CosignedTreeHead)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetTreeHead indicates an expected call of GetTreeHead.
func (mr *MockLogMockRecorder) GetTreeHead(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTreeHead", reflect.TypeOf((*MockLog)(nil).GetTreeHead), arg0)
}

// MockSecondary is a mock of Secondary interface.
type MockSecondary struct {
	ctrl     *gomock.Controller
	recorder *MockSecondaryMockRecorder
}

// MockSecondaryMockRecorder is the mock recorder for MockSecondary.
type MockSecondaryMockRecorder struct {
	mock *MockSecondary
}

// NewMockSecondary creates a new mock instance.
func NewMockSecondary(ctrl *gomock.Controller) *MockSecondary {
	mock := &MockSecondary{ctrl: ctrl}
	mock.recorder = &MockSecondaryMockRecorder{mock}
	return mock
}

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

// GetSecondaryTreeHead mocks base method.
func (m *MockSecondary) GetSecondaryTreeHead(arg0 context.Context) (types.SignedTreeHead, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetSecondaryTreeHead", arg0)
	ret0, _ := ret[0].(types.SignedTreeHead)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetSecondaryTreeHead indicates an expected call of GetSecondaryTreeHead.
func (mr *MockSecondaryMockRecorder) GetSecondaryTreeHead(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSecondaryTreeHead", reflect.TypeOf((*MockSecondary)(nil).GetSecondaryTreeHead), arg0)
}

// MockWitness is a mock of Witness interface.
type MockWitness struct {
	ctrl     *gomock.Controller
	recorder *MockWitnessMockRecorder
}

// MockWitnessMockRecorder is the mock recorder for MockWitness.
type MockWitnessMockRecorder struct {
	mock *MockWitness
}

// NewMockWitness creates a new mock instance.
func NewMockWitness(ctrl *gomock.Controller) *MockWitness {
	mock := &MockWitness{ctrl: ctrl}
	mock.recorder = &MockWitnessMockRecorder{mock}
	return mock
}

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

// AddCheckpoint mocks base method.
func (m *MockWitness) AddCheckpoint(arg0 context.Context, arg1 requests.AddCheckpoint) ([]checkpoint.CosignatureLine, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AddCheckpoint", arg0, arg1)
	ret0, _ := ret[0].([]checkpoint.CosignatureLine)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// AddCheckpoint indicates an expected call of AddCheckpoint.
func (mr *MockWitnessMockRecorder) AddCheckpoint(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddCheckpoint", reflect.TypeOf((*MockWitness)(nil).AddCheckpoint), arg0, arg1)
}
