// Code generated by MockGen. DO NOT EDIT.
// Source: go.abhg.dev/gs/internal/spice/state (interfaces: DB)
//
// Generated by this command:
//
//	mockgen -destination mocks_test.go -package state -typed . DB
//

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

import (
	context "context"
	reflect "reflect"

	storage "go.abhg.dev/gs/internal/spice/state/storage"
	gomock "go.uber.org/mock/gomock"
)

// MockDB is a mock of DB interface.
type MockDB struct {
	ctrl     *gomock.Controller
	recorder *MockDBMockRecorder
	isgomock struct{}
}

// MockDBMockRecorder is the mock recorder for MockDB.
type MockDBMockRecorder struct {
	mock *MockDB
}

// NewMockDB creates a new mock instance.
func NewMockDB(ctrl *gomock.Controller) *MockDB {
	mock := &MockDB{ctrl: ctrl}
	mock.recorder = &MockDBMockRecorder{mock}
	return mock
}

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

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

// Clear indicates an expected call of Clear.
func (mr *MockDBMockRecorder) Clear(ctx, msg any) *MockDBClearCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clear", reflect.TypeOf((*MockDB)(nil).Clear), ctx, msg)
	return &MockDBClearCall{Call: call}
}

// MockDBClearCall wrap *gomock.Call
type MockDBClearCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockDBClearCall) Return(arg0 error) *MockDBClearCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockDBClearCall) Do(f func(context.Context, string) error) *MockDBClearCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockDBClearCall) DoAndReturn(f func(context.Context, string) error) *MockDBClearCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

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

// Delete indicates an expected call of Delete.
func (mr *MockDBMockRecorder) Delete(ctx, k, msg any) *MockDBDeleteCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockDB)(nil).Delete), ctx, k, msg)
	return &MockDBDeleteCall{Call: call}
}

// MockDBDeleteCall wrap *gomock.Call
type MockDBDeleteCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockDBDeleteCall) Return(arg0 error) *MockDBDeleteCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockDBDeleteCall) Do(f func(context.Context, string, string) error) *MockDBDeleteCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockDBDeleteCall) DoAndReturn(f func(context.Context, string, string) error) *MockDBDeleteCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// Get mocks base method.
func (m *MockDB) Get(ctx context.Context, k string, v any) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", ctx, k, v)
	ret0, _ := ret[0].(error)
	return ret0
}

// Get indicates an expected call of Get.
func (mr *MockDBMockRecorder) Get(ctx, k, v any) *MockDBGetCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockDB)(nil).Get), ctx, k, v)
	return &MockDBGetCall{Call: call}
}

// MockDBGetCall wrap *gomock.Call
type MockDBGetCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockDBGetCall) Return(arg0 error) *MockDBGetCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockDBGetCall) Do(f func(context.Context, string, any) error) *MockDBGetCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockDBGetCall) DoAndReturn(f func(context.Context, string, any) error) *MockDBGetCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

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

// Keys indicates an expected call of Keys.
func (mr *MockDBMockRecorder) Keys(ctx, dir any) *MockDBKeysCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockDB)(nil).Keys), ctx, dir)
	return &MockDBKeysCall{Call: call}
}

// MockDBKeysCall wrap *gomock.Call
type MockDBKeysCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockDBKeysCall) Return(arg0 []string, arg1 error) *MockDBKeysCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockDBKeysCall) Do(f func(context.Context, string) ([]string, error)) *MockDBKeysCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockDBKeysCall) DoAndReturn(f func(context.Context, string) ([]string, error)) *MockDBKeysCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// Set mocks base method.
func (m *MockDB) Set(ctx context.Context, k string, v any, msg string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Set", ctx, k, v, msg)
	ret0, _ := ret[0].(error)
	return ret0
}

// Set indicates an expected call of Set.
func (mr *MockDBMockRecorder) Set(ctx, k, v, msg any) *MockDBSetCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Set", reflect.TypeOf((*MockDB)(nil).Set), ctx, k, v, msg)
	return &MockDBSetCall{Call: call}
}

// MockDBSetCall wrap *gomock.Call
type MockDBSetCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockDBSetCall) Return(arg0 error) *MockDBSetCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockDBSetCall) Do(f func(context.Context, string, any, string) error) *MockDBSetCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockDBSetCall) DoAndReturn(f func(context.Context, string, any, string) error) *MockDBSetCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// Update mocks base method.
func (m *MockDB) Update(ctx context.Context, req storage.UpdateRequest) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Update", ctx, req)
	ret0, _ := ret[0].(error)
	return ret0
}

// Update indicates an expected call of Update.
func (mr *MockDBMockRecorder) Update(ctx, req any) *MockDBUpdateCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockDB)(nil).Update), ctx, req)
	return &MockDBUpdateCall{Call: call}
}

// MockDBUpdateCall wrap *gomock.Call
type MockDBUpdateCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockDBUpdateCall) Return(arg0 error) *MockDBUpdateCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockDBUpdateCall) Do(f func(context.Context, storage.UpdateRequest) error) *MockDBUpdateCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockDBUpdateCall) DoAndReturn(f func(context.Context, storage.UpdateRequest) error) *MockDBUpdateCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
