// Code generated by MockGen. DO NOT EDIT.
// Source: heimdall.go
//
// Generated by this command:
//
//	mockgen -source=heimdall.go -destination=../../tests/bor/mocks/IHeimdallClient.go -package=mocks
//

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

import (
	context "context"
	reflect "reflect"

	types "github.com/0xPolygon/heimdall-v2/x/bor/types"
	coretypes "github.com/cometbft/cometbft/rpc/core/types"
	clerk "github.com/ethereum/go-ethereum/consensus/bor/clerk"
	checkpoint "github.com/ethereum/go-ethereum/consensus/bor/heimdall/checkpoint"
	milestone "github.com/ethereum/go-ethereum/consensus/bor/heimdall/milestone"
	gomock "go.uber.org/mock/gomock"
)

// MockIHeimdallClient is a mock of IHeimdallClient interface.
type MockIHeimdallClient struct {
	ctrl     *gomock.Controller
	recorder *MockIHeimdallClientMockRecorder
	isgomock struct{}
}

// MockIHeimdallClientMockRecorder is the mock recorder for MockIHeimdallClient.
type MockIHeimdallClientMockRecorder struct {
	mock *MockIHeimdallClient
}

// NewMockIHeimdallClient creates a new mock instance.
func NewMockIHeimdallClient(ctrl *gomock.Controller) *MockIHeimdallClient {
	mock := &MockIHeimdallClient{ctrl: ctrl}
	mock.recorder = &MockIHeimdallClientMockRecorder{mock}
	return mock
}

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

// Close mocks base method.
func (m *MockIHeimdallClient) Close() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Close")
}

// Close indicates an expected call of Close.
func (mr *MockIHeimdallClientMockRecorder) Close() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockIHeimdallClient)(nil).Close))
}

// FetchCheckpoint mocks base method.
func (m *MockIHeimdallClient) FetchCheckpoint(ctx context.Context, number int64) (*checkpoint.Checkpoint, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "FetchCheckpoint", ctx, number)
	ret0, _ := ret[0].(*checkpoint.Checkpoint)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// FetchCheckpoint indicates an expected call of FetchCheckpoint.
func (mr *MockIHeimdallClientMockRecorder) FetchCheckpoint(ctx, number any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchCheckpoint", reflect.TypeOf((*MockIHeimdallClient)(nil).FetchCheckpoint), ctx, number)
}

// FetchCheckpointCount mocks base method.
func (m *MockIHeimdallClient) FetchCheckpointCount(ctx context.Context) (int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "FetchCheckpointCount", ctx)
	ret0, _ := ret[0].(int64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// FetchCheckpointCount indicates an expected call of FetchCheckpointCount.
func (mr *MockIHeimdallClientMockRecorder) FetchCheckpointCount(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchCheckpointCount", reflect.TypeOf((*MockIHeimdallClient)(nil).FetchCheckpointCount), ctx)
}

// FetchMilestone mocks base method.
func (m *MockIHeimdallClient) FetchMilestone(ctx context.Context) (*milestone.Milestone, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "FetchMilestone", ctx)
	ret0, _ := ret[0].(*milestone.Milestone)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// FetchMilestone indicates an expected call of FetchMilestone.
func (mr *MockIHeimdallClientMockRecorder) FetchMilestone(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchMilestone", reflect.TypeOf((*MockIHeimdallClient)(nil).FetchMilestone), ctx)
}

// FetchMilestoneCount mocks base method.
func (m *MockIHeimdallClient) FetchMilestoneCount(ctx context.Context) (int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "FetchMilestoneCount", ctx)
	ret0, _ := ret[0].(int64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// FetchMilestoneCount indicates an expected call of FetchMilestoneCount.
func (mr *MockIHeimdallClientMockRecorder) FetchMilestoneCount(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchMilestoneCount", reflect.TypeOf((*MockIHeimdallClient)(nil).FetchMilestoneCount), ctx)
}

// FetchStatus mocks base method.
func (m *MockIHeimdallClient) FetchStatus(ctx context.Context) (*coretypes.SyncInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "FetchStatus", ctx)
	ret0, _ := ret[0].(*coretypes.SyncInfo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// FetchStatus indicates an expected call of FetchStatus.
func (mr *MockIHeimdallClientMockRecorder) FetchStatus(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchStatus", reflect.TypeOf((*MockIHeimdallClient)(nil).FetchStatus), ctx)
}

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

// GetLatestSpan indicates an expected call of GetLatestSpan.
func (mr *MockIHeimdallClientMockRecorder) GetLatestSpan(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLatestSpan", reflect.TypeOf((*MockIHeimdallClient)(nil).GetLatestSpan), ctx)
}

// GetSpan mocks base method.
func (m *MockIHeimdallClient) GetSpan(ctx context.Context, spanID uint64) (*types.Span, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetSpan", ctx, spanID)
	ret0, _ := ret[0].(*types.Span)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetSpan indicates an expected call of GetSpan.
func (mr *MockIHeimdallClientMockRecorder) GetSpan(ctx, spanID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSpan", reflect.TypeOf((*MockIHeimdallClient)(nil).GetSpan), ctx, spanID)
}

// StateSyncEvents mocks base method.
func (m *MockIHeimdallClient) StateSyncEvents(ctx context.Context, fromID uint64, to int64) ([]*clerk.EventRecordWithTime, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "StateSyncEvents", ctx, fromID, to)
	ret0, _ := ret[0].([]*clerk.EventRecordWithTime)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// StateSyncEvents indicates an expected call of StateSyncEvents.
func (mr *MockIHeimdallClientMockRecorder) StateSyncEvents(ctx, fromID, to any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StateSyncEvents", reflect.TypeOf((*MockIHeimdallClient)(nil).StateSyncEvents), ctx, fromID, to)
}

// MockIHeimdallWSClient is a mock of IHeimdallWSClient interface.
type MockIHeimdallWSClient struct {
	ctrl     *gomock.Controller
	recorder *MockIHeimdallWSClientMockRecorder
	isgomock struct{}
}

// MockIHeimdallWSClientMockRecorder is the mock recorder for MockIHeimdallWSClient.
type MockIHeimdallWSClientMockRecorder struct {
	mock *MockIHeimdallWSClient
}

// NewMockIHeimdallWSClient creates a new mock instance.
func NewMockIHeimdallWSClient(ctrl *gomock.Controller) *MockIHeimdallWSClient {
	mock := &MockIHeimdallWSClient{ctrl: ctrl}
	mock.recorder = &MockIHeimdallWSClientMockRecorder{mock}
	return mock
}

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

// Close mocks base method.
func (m *MockIHeimdallWSClient) Close() error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Close")
	ret0, _ := ret[0].(error)
	return ret0
}

// Close indicates an expected call of Close.
func (mr *MockIHeimdallWSClientMockRecorder) Close() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockIHeimdallWSClient)(nil).Close))
}

// SubscribeMilestoneEvents mocks base method.
func (m *MockIHeimdallWSClient) SubscribeMilestoneEvents(ctx context.Context) <-chan *milestone.Milestone {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SubscribeMilestoneEvents", ctx)
	ret0, _ := ret[0].(<-chan *milestone.Milestone)
	return ret0
}

// SubscribeMilestoneEvents indicates an expected call of SubscribeMilestoneEvents.
func (mr *MockIHeimdallWSClientMockRecorder) SubscribeMilestoneEvents(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubscribeMilestoneEvents", reflect.TypeOf((*MockIHeimdallWSClient)(nil).SubscribeMilestoneEvents), ctx)
}

// Unsubscribe mocks base method.
func (m *MockIHeimdallWSClient) Unsubscribe(ctx context.Context) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Unsubscribe", ctx)
	ret0, _ := ret[0].(error)
	return ret0
}

// Unsubscribe indicates an expected call of Unsubscribe.
func (mr *MockIHeimdallWSClientMockRecorder) Unsubscribe(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Unsubscribe", reflect.TypeOf((*MockIHeimdallWSClient)(nil).Unsubscribe), ctx)
}
