// Copyright (C) 2019-2025, Lux Industries Inc. All rights reserved.
// See the file LICENSE for licensing terms.

// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/luxfi/node/vms/components/lux (interfaces: TransferableOut)
//
// Generated by this command:
//
//	mockgen -package=lux -destination=vms/components/lux/mock_transferable_out.go github.com/luxfi/node/vms/components/lux TransferableOut
//

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

import (
	"context"
	"reflect"

	"github.com/luxfi/runtime"
	verify "github.com/luxfi/node/vms/components/verify"
	gomock "go.uber.org/mock/gomock"
)

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

	ctrl     *gomock.Controller
	recorder *MockTransferableOutMockRecorder
}

// MockTransferableOutMockRecorder is the mock recorder for MockTransferableOut.
type MockTransferableOutMockRecorder struct {
	mock *MockTransferableOut
}

// NewMockTransferableOut creates a new mock instance.
func NewMockTransferableOut(ctrl *gomock.Controller) *MockTransferableOut {
	mock := &MockTransferableOut{ctrl: ctrl}
	mock.recorder = &MockTransferableOutMockRecorder{mock}
	return mock
}

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

// Amount mocks base method.
func (m *MockTransferableOut) 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 *MockTransferableOutMockRecorder) Amount() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Amount", reflect.TypeOf((*MockTransferableOut)(nil).Amount))
}

// InitRuntime mocks base method.
func (m *MockTransferableOut) InitRuntime(arg0 *runtime.Runtime) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "InitRuntime", arg0)
}

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

// Verify mocks base method.
func (m *MockTransferableOut) 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 *MockTransferableOutMockRecorder) Verify() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Verify", reflect.TypeOf((*MockTransferableOut)(nil).Verify))
}

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

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

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

// InitializeWithRuntime indicates an expected call of InitializeWithRuntime.
func (mr *MockTransferableOutMockRecorder) InitializeWithRuntime(ctx interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InitializeWithRuntime", reflect.TypeOf((*MockTransferableOut)(nil).InitializeWithRuntime), ctx)
}
