// Code generated by MockGen. DO NOT EDIT.
// Source: ./version_monitor.go
//
// Generated by this command:
//
//	mockgen -typed=true -source=./version_monitor.go -destination=./heimdall_client_mock.go -package=poshttp heimdallClient
//

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

import (
	context "context"
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"
)

// MockapiVersioner is a mock of apiVersioner interface.
type MockapiVersioner struct {
	ctrl     *gomock.Controller
	recorder *MockapiVersionerMockRecorder
	isgomock struct{}
}

// MockapiVersionerMockRecorder is the mock recorder for MockapiVersioner.
type MockapiVersionerMockRecorder struct {
	mock *MockapiVersioner
}

// NewMockapiVersioner creates a new mock instance.
func NewMockapiVersioner(ctrl *gomock.Controller) *MockapiVersioner {
	mock := &MockapiVersioner{ctrl: ctrl}
	mock.recorder = &MockapiVersionerMockRecorder{mock}
	return mock
}

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

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

// Version indicates an expected call of Version.
func (mr *MockapiVersionerMockRecorder) Version() *MockapiVersionerVersionCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Version", reflect.TypeOf((*MockapiVersioner)(nil).Version))
	return &MockapiVersionerVersionCall{Call: call}
}

// MockapiVersionerVersionCall wrap *gomock.Call
type MockapiVersionerVersionCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockapiVersionerVersionCall) Return(arg0 HeimdallVersion) *MockapiVersionerVersionCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockapiVersionerVersionCall) Do(f func() HeimdallVersion) *MockapiVersionerVersionCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockapiVersionerVersionCall) DoAndReturn(f func() HeimdallVersion) *MockapiVersionerVersionCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// MockheimdallClient is a mock of heimdallClient interface.
type MockheimdallClient struct {
	ctrl     *gomock.Controller
	recorder *MockheimdallClientMockRecorder
	isgomock struct{}
}

// MockheimdallClientMockRecorder is the mock recorder for MockheimdallClient.
type MockheimdallClientMockRecorder struct {
	mock *MockheimdallClient
}

// NewMockheimdallClient creates a new mock instance.
func NewMockheimdallClient(ctrl *gomock.Controller) *MockheimdallClient {
	mock := &MockheimdallClient{ctrl: ctrl}
	mock.recorder = &MockheimdallClientMockRecorder{mock}
	return mock
}

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

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

// FetchChainManagerStatus indicates an expected call of FetchChainManagerStatus.
func (mr *MockheimdallClientMockRecorder) FetchChainManagerStatus(ctx any) *MockheimdallClientFetchChainManagerStatusCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchChainManagerStatus", reflect.TypeOf((*MockheimdallClient)(nil).FetchChainManagerStatus), ctx)
	return &MockheimdallClientFetchChainManagerStatusCall{Call: call}
}

// MockheimdallClientFetchChainManagerStatusCall wrap *gomock.Call
type MockheimdallClientFetchChainManagerStatusCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockheimdallClientFetchChainManagerStatusCall) Return(arg0 *ChainManagerStatus, arg1 error) *MockheimdallClientFetchChainManagerStatusCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockheimdallClientFetchChainManagerStatusCall) Do(f func(context.Context) (*ChainManagerStatus, error)) *MockheimdallClientFetchChainManagerStatusCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockheimdallClientFetchChainManagerStatusCall) DoAndReturn(f func(context.Context) (*ChainManagerStatus, error)) *MockheimdallClientFetchChainManagerStatusCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
