// Code generated by MockGen. DO NOT EDIT.
// Source: k8s.io/client-go/kubernetes/typed/coordination/v1 (interfaces: LeasesGetter,LeaseInterface)
//
// Generated by this command:
//
//	mockgen -destination=./leases_getter.go -package=schedulermocks k8s.io/client-go/kubernetes/typed/coordination/v1 LeasesGetter,LeaseInterface
//

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

import (
	context "context"
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"
	v1 "k8s.io/api/coordination/v1"
	v10 "k8s.io/apimachinery/pkg/apis/meta/v1"
	types "k8s.io/apimachinery/pkg/types"
	watch "k8s.io/apimachinery/pkg/watch"
	v11 "k8s.io/client-go/applyconfigurations/coordination/v1"
	v12 "k8s.io/client-go/kubernetes/typed/coordination/v1"
)

// MockLeasesGetter is a mock of LeasesGetter interface.
type MockLeasesGetter struct {
	ctrl     *gomock.Controller
	recorder *MockLeasesGetterMockRecorder
	isgomock struct{}
}

// MockLeasesGetterMockRecorder is the mock recorder for MockLeasesGetter.
type MockLeasesGetterMockRecorder struct {
	mock *MockLeasesGetter
}

// NewMockLeasesGetter creates a new mock instance.
func NewMockLeasesGetter(ctrl *gomock.Controller) *MockLeasesGetter {
	mock := &MockLeasesGetter{ctrl: ctrl}
	mock.recorder = &MockLeasesGetterMockRecorder{mock}
	return mock
}

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

// Leases mocks base method.
func (m *MockLeasesGetter) Leases(namespace string) v12.LeaseInterface {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Leases", namespace)
	ret0, _ := ret[0].(v12.LeaseInterface)
	return ret0
}

// Leases indicates an expected call of Leases.
func (mr *MockLeasesGetterMockRecorder) Leases(namespace any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Leases", reflect.TypeOf((*MockLeasesGetter)(nil).Leases), namespace)
}

// MockLeaseInterface is a mock of LeaseInterface interface.
type MockLeaseInterface struct {
	ctrl     *gomock.Controller
	recorder *MockLeaseInterfaceMockRecorder
	isgomock struct{}
}

// MockLeaseInterfaceMockRecorder is the mock recorder for MockLeaseInterface.
type MockLeaseInterfaceMockRecorder struct {
	mock *MockLeaseInterface
}

// NewMockLeaseInterface creates a new mock instance.
func NewMockLeaseInterface(ctrl *gomock.Controller) *MockLeaseInterface {
	mock := &MockLeaseInterface{ctrl: ctrl}
	mock.recorder = &MockLeaseInterfaceMockRecorder{mock}
	return mock
}

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

// Apply mocks base method.
func (m *MockLeaseInterface) Apply(ctx context.Context, lease *v11.LeaseApplyConfiguration, opts v10.ApplyOptions) (*v1.Lease, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Apply", ctx, lease, opts)
	ret0, _ := ret[0].(*v1.Lease)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Apply indicates an expected call of Apply.
func (mr *MockLeaseInterfaceMockRecorder) Apply(ctx, lease, opts any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Apply", reflect.TypeOf((*MockLeaseInterface)(nil).Apply), ctx, lease, opts)
}

// Create mocks base method.
func (m *MockLeaseInterface) Create(ctx context.Context, lease *v1.Lease, opts v10.CreateOptions) (*v1.Lease, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Create", ctx, lease, opts)
	ret0, _ := ret[0].(*v1.Lease)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Create indicates an expected call of Create.
func (mr *MockLeaseInterfaceMockRecorder) Create(ctx, lease, opts any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockLeaseInterface)(nil).Create), ctx, lease, opts)
}

// Delete mocks base method.
func (m *MockLeaseInterface) Delete(ctx context.Context, name string, opts v10.DeleteOptions) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Delete", ctx, name, opts)
	ret0, _ := ret[0].(error)
	return ret0
}

// Delete indicates an expected call of Delete.
func (mr *MockLeaseInterfaceMockRecorder) Delete(ctx, name, opts any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockLeaseInterface)(nil).Delete), ctx, name, opts)
}

// DeleteCollection mocks base method.
func (m *MockLeaseInterface) DeleteCollection(ctx context.Context, opts v10.DeleteOptions, listOpts v10.ListOptions) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteCollection", ctx, opts, listOpts)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteCollection indicates an expected call of DeleteCollection.
func (mr *MockLeaseInterfaceMockRecorder) DeleteCollection(ctx, opts, listOpts any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCollection", reflect.TypeOf((*MockLeaseInterface)(nil).DeleteCollection), ctx, opts, listOpts)
}

// Get mocks base method.
func (m *MockLeaseInterface) Get(ctx context.Context, name string, opts v10.GetOptions) (*v1.Lease, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", ctx, name, opts)
	ret0, _ := ret[0].(*v1.Lease)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Get indicates an expected call of Get.
func (mr *MockLeaseInterfaceMockRecorder) Get(ctx, name, opts any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockLeaseInterface)(nil).Get), ctx, name, opts)
}

// List mocks base method.
func (m *MockLeaseInterface) List(ctx context.Context, opts v10.ListOptions) (*v1.LeaseList, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "List", ctx, opts)
	ret0, _ := ret[0].(*v1.LeaseList)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// List indicates an expected call of List.
func (mr *MockLeaseInterfaceMockRecorder) List(ctx, opts any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockLeaseInterface)(nil).List), ctx, opts)
}

// Patch mocks base method.
func (m *MockLeaseInterface) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v10.PatchOptions, subresources ...string) (*v1.Lease, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, name, pt, data, opts}
	for _, a := range subresources {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "Patch", varargs...)
	ret0, _ := ret[0].(*v1.Lease)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Patch indicates an expected call of Patch.
func (mr *MockLeaseInterfaceMockRecorder) Patch(ctx, name, pt, data, opts any, subresources ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, name, pt, data, opts}, subresources...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Patch", reflect.TypeOf((*MockLeaseInterface)(nil).Patch), varargs...)
}

// Update mocks base method.
func (m *MockLeaseInterface) Update(ctx context.Context, lease *v1.Lease, opts v10.UpdateOptions) (*v1.Lease, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Update", ctx, lease, opts)
	ret0, _ := ret[0].(*v1.Lease)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Update indicates an expected call of Update.
func (mr *MockLeaseInterfaceMockRecorder) Update(ctx, lease, opts any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockLeaseInterface)(nil).Update), ctx, lease, opts)
}

// Watch mocks base method.
func (m *MockLeaseInterface) Watch(ctx context.Context, opts v10.ListOptions) (watch.Interface, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Watch", ctx, opts)
	ret0, _ := ret[0].(watch.Interface)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Watch indicates an expected call of Watch.
func (mr *MockLeaseInterfaceMockRecorder) Watch(ctx, opts any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Watch", reflect.TypeOf((*MockLeaseInterface)(nil).Watch), ctx, opts)
}
