/*
 * Copyright 2024 CloudWeGo Authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// Code generated by MockGen. DO NOT EDIT.
// Source: langfuse.go

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

import (
	reflect "reflect"

	langfuse "github.com/cloudwego/eino-ext/libs/acl/langfuse"
	gomock "github.com/golang/mock/gomock"
)

// MockLangfuse is a mock of Langfuse interface.
type MockLangfuse struct {
	ctrl     *gomock.Controller
	recorder *MockLangfuseMockRecorder
}

// MockLangfuseMockRecorder is the mock recorder for MockLangfuse.
type MockLangfuseMockRecorder struct {
	mock *MockLangfuse
}

// NewMockLangfuse creates a new mock instance.
func NewMockLangfuse(ctrl *gomock.Controller) *MockLangfuse {
	mock := &MockLangfuse{ctrl: ctrl}
	mock.recorder = &MockLangfuseMockRecorder{mock}
	return mock
}

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

// CreateEvent mocks base method.
func (m *MockLangfuse) CreateEvent(body *langfuse.EventEventBody) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateEvent", body)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateEvent indicates an expected call of CreateEvent.
func (mr *MockLangfuseMockRecorder) CreateEvent(body interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateEvent", reflect.TypeOf((*MockLangfuse)(nil).CreateEvent), body)
}

// CreateGeneration mocks base method.
func (m *MockLangfuse) CreateGeneration(body *langfuse.GenerationEventBody) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateGeneration", body)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateGeneration indicates an expected call of CreateGeneration.
func (mr *MockLangfuseMockRecorder) CreateGeneration(body interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGeneration", reflect.TypeOf((*MockLangfuse)(nil).CreateGeneration), body)
}

// CreateSpan mocks base method.
func (m *MockLangfuse) CreateSpan(body *langfuse.SpanEventBody) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateSpan", body)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateSpan indicates an expected call of CreateSpan.
func (mr *MockLangfuseMockRecorder) CreateSpan(body interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateSpan", reflect.TypeOf((*MockLangfuse)(nil).CreateSpan), body)
}

// CreateTrace mocks base method.
func (m *MockLangfuse) CreateTrace(body *langfuse.TraceEventBody) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateTrace", body)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateTrace indicates an expected call of CreateTrace.
func (mr *MockLangfuseMockRecorder) CreateTrace(body interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateTrace", reflect.TypeOf((*MockLangfuse)(nil).CreateTrace), body)
}

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

// EndGeneration indicates an expected call of EndGeneration.
func (mr *MockLangfuseMockRecorder) EndGeneration(body interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EndGeneration", reflect.TypeOf((*MockLangfuse)(nil).EndGeneration), body)
}

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

// EndSpan indicates an expected call of EndSpan.
func (mr *MockLangfuseMockRecorder) EndSpan(body interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EndSpan", reflect.TypeOf((*MockLangfuse)(nil).EndSpan), body)
}

// Flush mocks base method.
func (m *MockLangfuse) Flush() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Flush")
}

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