// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/openfga/openfga/internal/planner (interfaces: Manager,Selector)
//
// Generated by this command:
//
//	mockgen -package=mocks -destination=internal/mocks/mock_planner.go github.com/openfga/openfga/internal/planner Manager,Selector
//

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

import (
	reflect "reflect"
	time "time"

	planner "github.com/openfga/openfga/internal/planner"
	keys "github.com/openfga/openfga/pkg/storage/cache/keys"
	gomock "go.uber.org/mock/gomock"
)

// MockManager is a mock of Manager interface.
type MockManager struct {
	ctrl     *gomock.Controller
	recorder *MockManagerMockRecorder
	isgomock struct{}
}

// MockManagerMockRecorder is the mock recorder for MockManager.
type MockManagerMockRecorder struct {
	mock *MockManager
}

// NewMockManager creates a new mock instance.
func NewMockManager(ctrl *gomock.Controller) *MockManager {
	mock := &MockManager{ctrl: ctrl}
	mock.recorder = &MockManagerMockRecorder{mock}
	return mock
}

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

// GetPlanSelector mocks base method.
func (m *MockManager) GetPlanSelector(key keys.Key) planner.Selector {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetPlanSelector", key)
	ret0, _ := ret[0].(planner.Selector)
	return ret0
}

// GetPlanSelector indicates an expected call of GetPlanSelector.
func (mr *MockManagerMockRecorder) GetPlanSelector(key any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPlanSelector", reflect.TypeOf((*MockManager)(nil).GetPlanSelector), key)
}

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

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

// MockSelector is a mock of Selector interface.
type MockSelector struct {
	ctrl     *gomock.Controller
	recorder *MockSelectorMockRecorder
	isgomock struct{}
}

// MockSelectorMockRecorder is the mock recorder for MockSelector.
type MockSelectorMockRecorder struct {
	mock *MockSelector
}

// NewMockSelector creates a new mock instance.
func NewMockSelector(ctrl *gomock.Controller) *MockSelector {
	mock := &MockSelector{ctrl: ctrl}
	mock.recorder = &MockSelectorMockRecorder{mock}
	return mock
}

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

// Select mocks base method.
func (m *MockSelector) Select(resolvers map[string]*planner.PlanConfig) *planner.PlanConfig {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Select", resolvers)
	ret0, _ := ret[0].(*planner.PlanConfig)
	return ret0
}

// Select indicates an expected call of Select.
func (mr *MockSelectorMockRecorder) Select(resolvers any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Select", reflect.TypeOf((*MockSelector)(nil).Select), resolvers)
}

// UpdateStats mocks base method.
func (m *MockSelector) UpdateStats(plan *planner.PlanConfig, duration time.Duration) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "UpdateStats", plan, duration)
}

// UpdateStats indicates an expected call of UpdateStats.
func (mr *MockSelectorMockRecorder) UpdateStats(plan, duration any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateStats", reflect.TypeOf((*MockSelector)(nil).UpdateStats), plan, duration)
}
