// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/hetznercloud/cli/internal/state (interfaces: ActionWaiter,TokenEnsurer)
//
// Generated by this command:
//
//	mockgen -package state -destination zz_command_helper_mock.go . ActionWaiter,TokenEnsurer
//

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

import (
	context "context"
	reflect "reflect"

	hcloud "github.com/hetznercloud/hcloud-go/v2/hcloud"
	cobra "github.com/spf13/cobra"
	gomock "go.uber.org/mock/gomock"
)

// MockActionWaiter is a mock of ActionWaiter interface.
type MockActionWaiter struct {
	ctrl     *gomock.Controller
	recorder *MockActionWaiterMockRecorder
	isgomock struct{}
}

// MockActionWaiterMockRecorder is the mock recorder for MockActionWaiter.
type MockActionWaiterMockRecorder struct {
	mock *MockActionWaiter
}

// NewMockActionWaiter creates a new mock instance.
func NewMockActionWaiter(ctrl *gomock.Controller) *MockActionWaiter {
	mock := &MockActionWaiter{ctrl: ctrl}
	mock.recorder = &MockActionWaiterMockRecorder{mock}
	return mock
}

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

// WaitForActions mocks base method.
func (m *MockActionWaiter) WaitForActions(arg0 context.Context, arg1 *cobra.Command, arg2 ...*hcloud.Action) error {
	m.ctrl.T.Helper()
	varargs := []any{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "WaitForActions", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// WaitForActions indicates an expected call of WaitForActions.
func (mr *MockActionWaiterMockRecorder) WaitForActions(arg0, arg1 any, arg2 ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{arg0, arg1}, arg2...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WaitForActions", reflect.TypeOf((*MockActionWaiter)(nil).WaitForActions), varargs...)
}

// MockTokenEnsurer is a mock of TokenEnsurer interface.
type MockTokenEnsurer struct {
	ctrl     *gomock.Controller
	recorder *MockTokenEnsurerMockRecorder
	isgomock struct{}
}

// MockTokenEnsurerMockRecorder is the mock recorder for MockTokenEnsurer.
type MockTokenEnsurerMockRecorder struct {
	mock *MockTokenEnsurer
}

// NewMockTokenEnsurer creates a new mock instance.
func NewMockTokenEnsurer(ctrl *gomock.Controller) *MockTokenEnsurer {
	mock := &MockTokenEnsurer{ctrl: ctrl}
	mock.recorder = &MockTokenEnsurerMockRecorder{mock}
	return mock
}

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

// EnsureToken mocks base method.
func (m *MockTokenEnsurer) EnsureToken(cmd *cobra.Command, args []string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "EnsureToken", cmd, args)
	ret0, _ := ret[0].(error)
	return ret0
}

// EnsureToken indicates an expected call of EnsureToken.
func (mr *MockTokenEnsurerMockRecorder) EnsureToken(cmd, args any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EnsureToken", reflect.TypeOf((*MockTokenEnsurer)(nil).EnsureToken), cmd, args)
}
