// Code generated by MockGen. DO NOT EDIT.
// Source: topic_client_interface.go
//
// Generated by this command:
//
//	mockgen -source topic_client_interface.go -destination topic_client_interface_mock_test.go -package topicreaderinternal -write_package_comment=false --typed
package topicreaderinternal

import (
	context "context"
	reflect "reflect"

	rawtopic "github.com/ydb-platform/ydb-go-sdk/v3/internal/grpcwrapper/rawtopic"
	gomock "go.uber.org/mock/gomock"
)

// MockTopicClient is a mock of TopicClient interface.
type MockTopicClient struct {
	ctrl     *gomock.Controller
	recorder *MockTopicClientMockRecorder
}

// MockTopicClientMockRecorder is the mock recorder for MockTopicClient.
type MockTopicClientMockRecorder struct {
	mock *MockTopicClient
}

// NewMockTopicClient creates a new mock instance.
func NewMockTopicClient(ctrl *gomock.Controller) *MockTopicClient {
	mock := &MockTopicClient{ctrl: ctrl}
	mock.recorder = &MockTopicClientMockRecorder{mock}
	return mock
}

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

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

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

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

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

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

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