// Code generated by MockGen. DO NOT EDIT.
// Source: ./chains/evm/cli/bridge/vote-proposal.go

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

import (
	reflect "reflect"

	transactor "github.com/ChainSafe/chainbridge-core/chains/evm/calls/transactor"
	proposal "github.com/ChainSafe/chainbridge-core/chains/evm/executor/proposal"
	common "github.com/ethereum/go-ethereum/common"
	gomock "github.com/golang/mock/gomock"
)

// MockVoter is a mock of Voter interface.
type MockVoter struct {
	ctrl     *gomock.Controller
	recorder *MockVoterMockRecorder
}

// MockVoterMockRecorder is the mock recorder for MockVoter.
type MockVoterMockRecorder struct {
	mock *MockVoter
}

// NewMockVoter creates a new mock instance.
func NewMockVoter(ctrl *gomock.Controller) *MockVoter {
	mock := &MockVoter{ctrl: ctrl}
	mock.recorder = &MockVoterMockRecorder{mock}
	return mock
}

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

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

// SimulateVoteProposal indicates an expected call of SimulateVoteProposal.
func (mr *MockVoterMockRecorder) SimulateVoteProposal(proposal interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SimulateVoteProposal", reflect.TypeOf((*MockVoter)(nil).SimulateVoteProposal), proposal)
}

// VoteProposal mocks base method.
func (m *MockVoter) VoteProposal(proposal *proposal.Proposal, opts transactor.TransactOptions) (*common.Hash, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "VoteProposal", proposal, opts)
	ret0, _ := ret[0].(*common.Hash)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// VoteProposal indicates an expected call of VoteProposal.
func (mr *MockVoterMockRecorder) VoteProposal(proposal, opts interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VoteProposal", reflect.TypeOf((*MockVoter)(nil).VoteProposal), proposal, opts)
}
