// Code generated by MockGen. DO NOT EDIT.
// Source: ./pkg/ratecontroller/types/types.go

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

import (
	context "context"
	reflect "reflect"
	time "time"

	gomock "github.com/golang/mock/gomock"
	types "github.com/tidbcloud/account/pkg/ratecontroller/types"
)

// MockStore is a mock of Store interface.
type MockStore struct {
	ctrl     *gomock.Controller
	recorder *MockStoreMockRecorder
}

// MockStoreMockRecorder is the mock recorder for MockStore.
type MockStoreMockRecorder struct {
	mock *MockStore
}

// NewMockStore creates a new mock instance.
func NewMockStore(ctrl *gomock.Controller) *MockStore {
	mock := &MockStore{ctrl: ctrl}
	mock.recorder = &MockStoreMockRecorder{mock}
	return mock
}

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

// AddEntry mocks base method.
func (m *MockStore) AddEntry(ctx context.Context, scene *types.Scene, accessor, target string, ts time.Time) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AddEntry", ctx, scene, accessor, target, ts)
	ret0, _ := ret[0].(error)
	return ret0
}

// AddEntry indicates an expected call of AddEntry.
func (mr *MockStoreMockRecorder) AddEntry(ctx, scene, accessor, target, ts interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEntry", reflect.TypeOf((*MockStore)(nil).AddEntry), ctx, scene, accessor, target, ts)
}

// Count mocks base method.
func (m *MockStore) Count(ctx context.Context, scene *types.Scene, accessor, target string, startTime, endTime time.Time) (int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Count", ctx, scene, accessor, target, startTime, endTime)
	ret0, _ := ret[0].(int64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Count indicates an expected call of Count.
func (mr *MockStoreMockRecorder) Count(ctx, scene, accessor, target, startTime, endTime interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Count", reflect.TypeOf((*MockStore)(nil).Count), ctx, scene, accessor, target, startTime, endTime)
}

// PurgeExpired mocks base method.
func (m *MockStore) PurgeExpired(ctx context.Context, scene *types.Scene, accessor string, expiredFrom time.Time) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PurgeExpired", ctx, scene, accessor, expiredFrom)
	ret0, _ := ret[0].(error)
	return ret0
}

// PurgeExpired indicates an expected call of PurgeExpired.
func (mr *MockStoreMockRecorder) PurgeExpired(ctx, scene, accessor, expiredFrom interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PurgeExpired", reflect.TypeOf((*MockStore)(nil).PurgeExpired), ctx, scene, accessor, expiredFrom)
}

// PurgeOverflowed mocks base method.
func (m *MockStore) PurgeOverflowed(ctx context.Context, scene *types.Scene, accessor string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PurgeOverflowed", ctx, scene, accessor)
	ret0, _ := ret[0].(error)
	return ret0
}

// PurgeOverflowed indicates an expected call of PurgeOverflowed.
func (mr *MockStoreMockRecorder) PurgeOverflowed(ctx, scene, accessor interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PurgeOverflowed", reflect.TypeOf((*MockStore)(nil).PurgeOverflowed), ctx, scene, accessor)
}
