// Code generated by MockGen. DO NOT EDIT.
// Source: session/claudecode_wrapper.go
//
// Generated by this command:
//
//	mockgen -source=session/claudecode_wrapper.go -destination=session/mock_claudecode.go -package=session ClaudeSession
//

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

import (
	reflect "reflect"

	claudecode "github.com/humanlayer/humanlayer/claudecode-go"
	gomock "go.uber.org/mock/gomock"
)

// MockClaudeSession is a mock of ClaudeSession interface.
type MockClaudeSession struct {
	ctrl     *gomock.Controller
	recorder *MockClaudeSessionMockRecorder
	isgomock struct{}
}

// MockClaudeSessionMockRecorder is the mock recorder for MockClaudeSession.
type MockClaudeSessionMockRecorder struct {
	mock *MockClaudeSession
}

// NewMockClaudeSession creates a new mock instance.
func NewMockClaudeSession(ctrl *gomock.Controller) *MockClaudeSession {
	mock := &MockClaudeSession{ctrl: ctrl}
	mock.recorder = &MockClaudeSessionMockRecorder{mock}
	return mock
}

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

// GetEvents mocks base method.
func (m *MockClaudeSession) GetEvents() <-chan claudecode.StreamEvent {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetEvents")
	ret0, _ := ret[0].(<-chan claudecode.StreamEvent)
	return ret0
}

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

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

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

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

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

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

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

// Wait mocks base method.
func (m *MockClaudeSession) Wait() (*claudecode.Result, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Wait")
	ret0, _ := ret[0].(*claudecode.Result)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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