// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/posthog/posthog-go (interfaces: Client)
//
// Generated by this command:
//
//      mockgen github.com/posthog/posthog-go Client
//

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

import (
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	posthog_go "github.com/posthog/posthog-go"
)

// MockClient is a mock of Client interface.
type MockClient struct {
	ctrl     *gomock.Controller
	recorder *MockClientMockRecorder
	isgomock struct{}
}

// MockClientMockRecorder is the mock recorder for MockClient.
type MockClientMockRecorder struct {
	mock *MockClient
}

// NewMockClient creates a new mock instance.
func NewMockClient(ctrl *gomock.Controller) *MockClient {
	mock := &MockClient{ctrl: ctrl}
	mock.recorder = &MockClientMockRecorder{mock}
	return mock
}

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

// Close mocks base method.
func (m *MockClient) Close() error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Close")
	ret0, _ := ret[0].(error)
	return ret0
}

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

// Enqueue mocks base method.
func (m *MockClient) Enqueue(arg0 posthog_go.Message) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Enqueue", arg0)
	ret0, _ := ret[0].(error)
	return ret0
}

// Enqueue indicates an expected call of Enqueue.
func (mr *MockClientMockRecorder) Enqueue(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Enqueue", reflect.TypeOf((*MockClient)(nil).Enqueue), arg0)
}

// GetAllFlags mocks base method.
func (m *MockClient) GetAllFlags(arg0 posthog_go.FeatureFlagPayloadNoKey) (map[string]any, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetAllFlags", arg0)
	ret0, _ := ret[0].(map[string]any)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetAllFlags indicates an expected call of GetAllFlags.
func (mr *MockClientMockRecorder) GetAllFlags(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllFlags", reflect.TypeOf((*MockClient)(nil).GetAllFlags), arg0)
}

// GetFeatureFlag mocks base method.
func (m *MockClient) GetFeatureFlag(arg0 posthog_go.FeatureFlagPayload) (any, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetFeatureFlag", arg0)
	ret0, _ := ret[0].(any)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetFeatureFlag indicates an expected call of GetFeatureFlag.
func (mr *MockClientMockRecorder) GetFeatureFlag(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetFeatureFlag", reflect.TypeOf((*MockClient)(nil).GetFeatureFlag), arg0)
}

// GetFeatureFlagPayload mocks base method.
func (m *MockClient) GetFeatureFlagPayload(arg0 posthog_go.FeatureFlagPayload) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetFeatureFlagPayload", arg0)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetFeatureFlagPayload indicates an expected call of GetFeatureFlagPayload.
func (mr *MockClientMockRecorder) GetFeatureFlagPayload(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetFeatureFlagPayload", reflect.TypeOf((*MockClient)(nil).GetFeatureFlagPayload), arg0)
}

// GetFeatureFlags mocks base method.
func (m *MockClient) GetFeatureFlags() ([]posthog_go.FeatureFlag, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetFeatureFlags")
	ret0, _ := ret[0].([]posthog_go.FeatureFlag)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetLastCapturedEvent mocks base method.
func (m *MockClient) GetLastCapturedEvent() *posthog_go.Capture {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetLastCapturedEvent")
	ret0, _ := ret[0].(*posthog_go.Capture)
	return ret0
}

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

// GetRemoteConfigPayload mocks base method.
func (m *MockClient) GetRemoteConfigPayload(arg0 string) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetRemoteConfigPayload", arg0)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetRemoteConfigPayload indicates an expected call of GetRemoteConfigPayload.
func (mr *MockClientMockRecorder) GetRemoteConfigPayload(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRemoteConfigPayload", reflect.TypeOf((*MockClient)(nil).GetRemoteConfigPayload), arg0)
}

// IsFeatureEnabled mocks base method.
func (m *MockClient) IsFeatureEnabled(arg0 posthog_go.FeatureFlagPayload) (any, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "IsFeatureEnabled", arg0)
	ret0, _ := ret[0].(any)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// IsFeatureEnabled indicates an expected call of IsFeatureEnabled.
func (mr *MockClientMockRecorder) IsFeatureEnabled(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsFeatureEnabled", reflect.TypeOf((*MockClient)(nil).IsFeatureEnabled), arg0)
}

// ReloadFeatureFlags mocks base method.
func (m *MockClient) ReloadFeatureFlags() error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ReloadFeatureFlags")
	ret0, _ := ret[0].(error)
	return ret0
}

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