// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/erigontech/erigon/node/gointerfaces/downloaderproto (interfaces: DownloaderClient)
//
// Generated by this command:
//
//	mockgen -typed=true -destination=./downloader_client_mock.go -package=downloaderproto . DownloaderClient
//

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

import (
	context "context"
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"
	grpc "google.golang.org/grpc"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
)

// MockDownloaderClient is a mock of DownloaderClient interface.
type MockDownloaderClient struct {
	ctrl     *gomock.Controller
	recorder *MockDownloaderClientMockRecorder
	isgomock struct{}
}

// MockDownloaderClientMockRecorder is the mock recorder for MockDownloaderClient.
type MockDownloaderClientMockRecorder struct {
	mock *MockDownloaderClient
}

// NewMockDownloaderClient creates a new mock instance.
func NewMockDownloaderClient(ctrl *gomock.Controller) *MockDownloaderClient {
	mock := &MockDownloaderClient{ctrl: ctrl}
	mock.recorder = &MockDownloaderClientMockRecorder{mock}
	return mock
}

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

// Delete mocks base method.
func (m *MockDownloaderClient) Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, in}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "Delete", varargs...)
	ret0, _ := ret[0].(*emptypb.Empty)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Delete indicates an expected call of Delete.
func (mr *MockDownloaderClientMockRecorder) Delete(ctx, in any, opts ...any) *MockDownloaderClientDeleteCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, in}, opts...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockDownloaderClient)(nil).Delete), varargs...)
	return &MockDownloaderClientDeleteCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockDownloaderClientDeleteCall) Return(arg0 *emptypb.Empty, arg1 error) *MockDownloaderClientDeleteCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockDownloaderClientDeleteCall) Do(f func(context.Context, *DeleteRequest, ...grpc.CallOption) (*emptypb.Empty, error)) *MockDownloaderClientDeleteCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockDownloaderClientDeleteCall) DoAndReturn(f func(context.Context, *DeleteRequest, ...grpc.CallOption) (*emptypb.Empty, error)) *MockDownloaderClientDeleteCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// Download mocks base method.
func (m *MockDownloaderClient) Download(ctx context.Context, in *DownloadRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, in}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "Download", varargs...)
	ret0, _ := ret[0].(*emptypb.Empty)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Download indicates an expected call of Download.
func (mr *MockDownloaderClientMockRecorder) Download(ctx, in any, opts ...any) *MockDownloaderClientDownloadCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, in}, opts...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Download", reflect.TypeOf((*MockDownloaderClient)(nil).Download), varargs...)
	return &MockDownloaderClientDownloadCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockDownloaderClientDownloadCall) Return(arg0 *emptypb.Empty, arg1 error) *MockDownloaderClientDownloadCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockDownloaderClientDownloadCall) Do(f func(context.Context, *DownloadRequest, ...grpc.CallOption) (*emptypb.Empty, error)) *MockDownloaderClientDownloadCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockDownloaderClientDownloadCall) DoAndReturn(f func(context.Context, *DownloadRequest, ...grpc.CallOption) (*emptypb.Empty, error)) *MockDownloaderClientDownloadCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// Seed mocks base method.
func (m *MockDownloaderClient) Seed(ctx context.Context, in *SeedRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, in}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "Seed", varargs...)
	ret0, _ := ret[0].(*emptypb.Empty)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Seed indicates an expected call of Seed.
func (mr *MockDownloaderClientMockRecorder) Seed(ctx, in any, opts ...any) *MockDownloaderClientSeedCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, in}, opts...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Seed", reflect.TypeOf((*MockDownloaderClient)(nil).Seed), varargs...)
	return &MockDownloaderClientSeedCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockDownloaderClientSeedCall) Return(arg0 *emptypb.Empty, arg1 error) *MockDownloaderClientSeedCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockDownloaderClientSeedCall) Do(f func(context.Context, *SeedRequest, ...grpc.CallOption) (*emptypb.Empty, error)) *MockDownloaderClientSeedCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockDownloaderClientSeedCall) DoAndReturn(f func(context.Context, *SeedRequest, ...grpc.CallOption) (*emptypb.Empty, error)) *MockDownloaderClientSeedCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
