// Code generated by MockGen. DO NOT EDIT.
// Source: flag_trigger.go
//
// Generated by this command:
//
//	mockgen -source=flag_trigger.go -package=mock -destination=./mock/flag_trigger.go
//

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

import (
	context "context"
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"

	domain "github.com/bucketeer-io/bucketeer/v2/pkg/feature/domain"
	mysql "github.com/bucketeer-io/bucketeer/v2/pkg/storage/v2/mysql"
	feature "github.com/bucketeer-io/bucketeer/v2/proto/feature"
)

// MockFlagTriggerStorage is a mock of FlagTriggerStorage interface.
type MockFlagTriggerStorage struct {
	ctrl     *gomock.Controller
	recorder *MockFlagTriggerStorageMockRecorder
}

// MockFlagTriggerStorageMockRecorder is the mock recorder for MockFlagTriggerStorage.
type MockFlagTriggerStorageMockRecorder struct {
	mock *MockFlagTriggerStorage
}

// NewMockFlagTriggerStorage creates a new mock instance.
func NewMockFlagTriggerStorage(ctrl *gomock.Controller) *MockFlagTriggerStorage {
	mock := &MockFlagTriggerStorage{ctrl: ctrl}
	mock.recorder = &MockFlagTriggerStorageMockRecorder{mock}
	return mock
}

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

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

// CreateFlagTrigger indicates an expected call of CreateFlagTrigger.
func (mr *MockFlagTriggerStorageMockRecorder) CreateFlagTrigger(ctx, flagTrigger any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateFlagTrigger", reflect.TypeOf((*MockFlagTriggerStorage)(nil).CreateFlagTrigger), ctx, flagTrigger)
}

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

// DeleteFlagTrigger indicates an expected call of DeleteFlagTrigger.
func (mr *MockFlagTriggerStorageMockRecorder) DeleteFlagTrigger(ctx, id, environmentId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteFlagTrigger", reflect.TypeOf((*MockFlagTriggerStorage)(nil).DeleteFlagTrigger), ctx, id, environmentId)
}

// GetFlagTrigger mocks base method.
func (m *MockFlagTriggerStorage) GetFlagTrigger(ctx context.Context, id, environmentId string) (*domain.FlagTrigger, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetFlagTrigger", ctx, id, environmentId)
	ret0, _ := ret[0].(*domain.FlagTrigger)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetFlagTrigger indicates an expected call of GetFlagTrigger.
func (mr *MockFlagTriggerStorageMockRecorder) GetFlagTrigger(ctx, id, environmentId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetFlagTrigger", reflect.TypeOf((*MockFlagTriggerStorage)(nil).GetFlagTrigger), ctx, id, environmentId)
}

// GetFlagTriggerByToken mocks base method.
func (m *MockFlagTriggerStorage) GetFlagTriggerByToken(ctx context.Context, token string) (*domain.FlagTrigger, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetFlagTriggerByToken", ctx, token)
	ret0, _ := ret[0].(*domain.FlagTrigger)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetFlagTriggerByToken indicates an expected call of GetFlagTriggerByToken.
func (mr *MockFlagTriggerStorageMockRecorder) GetFlagTriggerByToken(ctx, token any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetFlagTriggerByToken", reflect.TypeOf((*MockFlagTriggerStorage)(nil).GetFlagTriggerByToken), ctx, token)
}

// ListFlagTriggers mocks base method.
func (m *MockFlagTriggerStorage) ListFlagTriggers(ctx context.Context, options *mysql.ListOptions) ([]*feature.FlagTrigger, int, int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListFlagTriggers", ctx, options)
	ret0, _ := ret[0].([]*feature.FlagTrigger)
	ret1, _ := ret[1].(int)
	ret2, _ := ret[2].(int64)
	ret3, _ := ret[3].(error)
	return ret0, ret1, ret2, ret3
}

// ListFlagTriggers indicates an expected call of ListFlagTriggers.
func (mr *MockFlagTriggerStorageMockRecorder) ListFlagTriggers(ctx, options any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListFlagTriggers", reflect.TypeOf((*MockFlagTriggerStorage)(nil).ListFlagTriggers), ctx, options)
}

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

// UpdateFlagTrigger indicates an expected call of UpdateFlagTrigger.
func (mr *MockFlagTriggerStorageMockRecorder) UpdateFlagTrigger(ctx, flagTrigger any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateFlagTrigger", reflect.TypeOf((*MockFlagTriggerStorage)(nil).UpdateFlagTrigger), ctx, flagTrigger)
}
