// Code generated by MockGen and manually edited.
// Source: github.com/ava-labs/avalanchego/vms/components/avax (interfaces: TransferableOut)
//
// Generated by this command:
//
//	mockgen -package=avaxmock -destination=vms/components/avax/avaxmock/transferable_out.go -mock_names=TransferableOut=TransferableOut github.com/ava-labs/avalanchego/vms/components/avax TransferableOut
//

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

import (
	reflect "reflect"

	snow "github.com/ava-labs/avalanchego/snow"
	verify "github.com/ava-labs/avalanchego/vms/components/verify"
	gomock "go.uber.org/mock/gomock"
)

// TransferableOut is a mock of TransferableOut interface.
type TransferableOut struct {
	verify.IsState

	ctrl     *gomock.Controller
	recorder *TransferableOutMockRecorder
}

// TransferableOutMockRecorder is the mock recorder for TransferableOut.
type TransferableOutMockRecorder struct {
	mock *TransferableOut
}

// NewTransferableOut creates a new mock instance.
func NewTransferableOut(ctrl *gomock.Controller) *TransferableOut {
	mock := &TransferableOut{ctrl: ctrl}
	mock.recorder = &TransferableOutMockRecorder{mock}
	return mock
}

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

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

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

// InitCtx mocks base method.
func (m *TransferableOut) InitCtx(arg0 *snow.Context) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "InitCtx", arg0)
}

// InitCtx indicates an expected call of InitCtx.
func (mr *TransferableOutMockRecorder) InitCtx(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InitCtx", reflect.TypeOf((*TransferableOut)(nil).InitCtx), arg0)
}

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

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

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

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