// Code generated by MockGen. DO NOT EDIT.
// Source: gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v18/internal/cmd/kas (interfaces: SentryHub)
//
// Generated by this command:
//
//	mockgen -typed -destination mock_for_test.go -package kas gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v18/internal/cmd/kas SentryHub
//

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

import (
	reflect "reflect"

	sentry "github.com/getsentry/sentry-go"
	gomock "go.uber.org/mock/gomock"
)

// MockSentryHub is a mock of SentryHub interface.
type MockSentryHub struct {
	ctrl     *gomock.Controller
	recorder *MockSentryHubMockRecorder
	isgomock struct{}
}

// MockSentryHubMockRecorder is the mock recorder for MockSentryHub.
type MockSentryHubMockRecorder struct {
	mock *MockSentryHub
}

// NewMockSentryHub creates a new mock instance.
func NewMockSentryHub(ctrl *gomock.Controller) *MockSentryHub {
	mock := &MockSentryHub{ctrl: ctrl}
	mock.recorder = &MockSentryHubMockRecorder{mock}
	return mock
}

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

// CaptureEvent mocks base method.
func (m *MockSentryHub) CaptureEvent(event *sentry.Event) *sentry.EventID {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CaptureEvent", event)
	ret0, _ := ret[0].(*sentry.EventID)
	return ret0
}

// CaptureEvent indicates an expected call of CaptureEvent.
func (mr *MockSentryHubMockRecorder) CaptureEvent(event any) *MockSentryHubCaptureEventCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CaptureEvent", reflect.TypeOf((*MockSentryHub)(nil).CaptureEvent), event)
	return &MockSentryHubCaptureEventCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockSentryHubCaptureEventCall) Return(arg0 *sentry.EventID) *MockSentryHubCaptureEventCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockSentryHubCaptureEventCall) Do(f func(*sentry.Event) *sentry.EventID) *MockSentryHubCaptureEventCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockSentryHubCaptureEventCall) DoAndReturn(f func(*sentry.Event) *sentry.EventID) *MockSentryHubCaptureEventCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
