//
//  Generated code. Do not modify.
//  source: attachmentV2.proto
//
// @dart = 3.3

// ignore_for_file: annotate_overrides, camel_case_types, comment_references
// ignore_for_file: constant_identifier_names, library_prefixes
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import

import 'dart:async' as $async;
import 'dart:core' as $core;

import 'package:grpc/service_api.dart' as $grpc;
import 'package:protobuf/protobuf.dart' as $pb;

import 'attachmentV2.pb.dart' as $15;

export 'attachmentV2.pb.dart';

@$pb.GrpcServiceName('api.AttachmentServiceV2')
class AttachmentServiceV2Client extends $grpc.Client {
  static final _$upload = $grpc.ClientMethod<$15.UploadAttachmentV2Request, $15.UploadAttachmentV2Response>(
      '/api.AttachmentServiceV2/Upload',
      ($15.UploadAttachmentV2Request value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $15.UploadAttachmentV2Response.fromBuffer(value));
  static final _$addLink = $grpc.ClientMethod<$15.AddLinkV2Request, $15.AddLinkV2Response>(
      '/api.AttachmentServiceV2/AddLink',
      ($15.AddLinkV2Request value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $15.AddLinkV2Response.fromBuffer(value));
  static final _$download = $grpc.ClientMethod<$15.DownloadAttachmentV2Request, $15.DownloadAttachmentV2Response>(
      '/api.AttachmentServiceV2/Download',
      ($15.DownloadAttachmentV2Request value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $15.DownloadAttachmentV2Response.fromBuffer(value));
  static final _$delete = $grpc.ClientMethod<$15.DeleteAttachmentV2Request, $15.DeleteAttachmentV2Response>(
      '/api.AttachmentServiceV2/Delete',
      ($15.DeleteAttachmentV2Request value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $15.DeleteAttachmentV2Response.fromBuffer(value));
  static final _$list = $grpc.ClientMethod<$15.ListAttachmentsV2Request, $15.ListAttachmentsV2Response>(
      '/api.AttachmentServiceV2/List',
      ($15.ListAttachmentsV2Request value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $15.ListAttachmentsV2Response.fromBuffer(value));
  static final _$share = $grpc.ClientMethod<$15.ShareAttachmentV2Request, $15.ShareAttachmentV2Response>(
      '/api.AttachmentServiceV2/Share',
      ($15.ShareAttachmentV2Request value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $15.ShareAttachmentV2Response.fromBuffer(value));
  static final _$deleteAll = $grpc.ClientMethod<$15.DeleteAllAttachmentsV2Request, $15.DeleteAllAttachmentsV2Response>(
      '/api.AttachmentServiceV2/DeleteAll',
      ($15.DeleteAllAttachmentsV2Request value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $15.DeleteAllAttachmentsV2Response.fromBuffer(value));

  AttachmentServiceV2Client($grpc.ClientChannel channel,
      {$grpc.CallOptions? options,
      $core.Iterable<$grpc.ClientInterceptor>? interceptors})
      : super(channel, options: options,
        interceptors: interceptors);

  $grpc.ResponseFuture<$15.UploadAttachmentV2Response> upload($15.UploadAttachmentV2Request request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$upload, request, options: options);
  }

  $grpc.ResponseFuture<$15.AddLinkV2Response> addLink($15.AddLinkV2Request request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$addLink, request, options: options);
  }

  $grpc.ResponseFuture<$15.DownloadAttachmentV2Response> download($15.DownloadAttachmentV2Request request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$download, request, options: options);
  }

  $grpc.ResponseFuture<$15.DeleteAttachmentV2Response> delete($15.DeleteAttachmentV2Request request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$delete, request, options: options);
  }

  $grpc.ResponseFuture<$15.ListAttachmentsV2Response> list($15.ListAttachmentsV2Request request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$list, request, options: options);
  }

  $grpc.ResponseFuture<$15.ShareAttachmentV2Response> share($15.ShareAttachmentV2Request request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$share, request, options: options);
  }

  $grpc.ResponseFuture<$15.DeleteAllAttachmentsV2Response> deleteAll($15.DeleteAllAttachmentsV2Request request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$deleteAll, request, options: options);
  }
}

@$pb.GrpcServiceName('api.AttachmentServiceV2')
abstract class AttachmentServiceV2ServiceBase extends $grpc.Service {
  $core.String get $name => 'api.AttachmentServiceV2';

  AttachmentServiceV2ServiceBase() {
    $addMethod($grpc.ServiceMethod<$15.UploadAttachmentV2Request, $15.UploadAttachmentV2Response>(
        'Upload',
        upload_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $15.UploadAttachmentV2Request.fromBuffer(value),
        ($15.UploadAttachmentV2Response value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$15.AddLinkV2Request, $15.AddLinkV2Response>(
        'AddLink',
        addLink_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $15.AddLinkV2Request.fromBuffer(value),
        ($15.AddLinkV2Response value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$15.DownloadAttachmentV2Request, $15.DownloadAttachmentV2Response>(
        'Download',
        download_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $15.DownloadAttachmentV2Request.fromBuffer(value),
        ($15.DownloadAttachmentV2Response value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$15.DeleteAttachmentV2Request, $15.DeleteAttachmentV2Response>(
        'Delete',
        delete_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $15.DeleteAttachmentV2Request.fromBuffer(value),
        ($15.DeleteAttachmentV2Response value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$15.ListAttachmentsV2Request, $15.ListAttachmentsV2Response>(
        'List',
        list_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $15.ListAttachmentsV2Request.fromBuffer(value),
        ($15.ListAttachmentsV2Response value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$15.ShareAttachmentV2Request, $15.ShareAttachmentV2Response>(
        'Share',
        share_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $15.ShareAttachmentV2Request.fromBuffer(value),
        ($15.ShareAttachmentV2Response value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$15.DeleteAllAttachmentsV2Request, $15.DeleteAllAttachmentsV2Response>(
        'DeleteAll',
        deleteAll_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $15.DeleteAllAttachmentsV2Request.fromBuffer(value),
        ($15.DeleteAllAttachmentsV2Response value) => value.writeToBuffer()));
  }

  $async.Future<$15.UploadAttachmentV2Response> upload_Pre($grpc.ServiceCall $call, $async.Future<$15.UploadAttachmentV2Request> $request) async {
    return upload($call, await $request);
  }

  $async.Future<$15.AddLinkV2Response> addLink_Pre($grpc.ServiceCall $call, $async.Future<$15.AddLinkV2Request> $request) async {
    return addLink($call, await $request);
  }

  $async.Future<$15.DownloadAttachmentV2Response> download_Pre($grpc.ServiceCall $call, $async.Future<$15.DownloadAttachmentV2Request> $request) async {
    return download($call, await $request);
  }

  $async.Future<$15.DeleteAttachmentV2Response> delete_Pre($grpc.ServiceCall $call, $async.Future<$15.DeleteAttachmentV2Request> $request) async {
    return delete($call, await $request);
  }

  $async.Future<$15.ListAttachmentsV2Response> list_Pre($grpc.ServiceCall $call, $async.Future<$15.ListAttachmentsV2Request> $request) async {
    return list($call, await $request);
  }

  $async.Future<$15.ShareAttachmentV2Response> share_Pre($grpc.ServiceCall $call, $async.Future<$15.ShareAttachmentV2Request> $request) async {
    return share($call, await $request);
  }

  $async.Future<$15.DeleteAllAttachmentsV2Response> deleteAll_Pre($grpc.ServiceCall $call, $async.Future<$15.DeleteAllAttachmentsV2Request> $request) async {
    return deleteAll($call, await $request);
  }

  $async.Future<$15.UploadAttachmentV2Response> upload($grpc.ServiceCall call, $15.UploadAttachmentV2Request request);
  $async.Future<$15.AddLinkV2Response> addLink($grpc.ServiceCall call, $15.AddLinkV2Request request);
  $async.Future<$15.DownloadAttachmentV2Response> download($grpc.ServiceCall call, $15.DownloadAttachmentV2Request request);
  $async.Future<$15.DeleteAttachmentV2Response> delete($grpc.ServiceCall call, $15.DeleteAttachmentV2Request request);
  $async.Future<$15.ListAttachmentsV2Response> list($grpc.ServiceCall call, $15.ListAttachmentsV2Request request);
  $async.Future<$15.ShareAttachmentV2Response> share($grpc.ServiceCall call, $15.ShareAttachmentV2Request request);
  $async.Future<$15.DeleteAllAttachmentsV2Response> deleteAll($grpc.ServiceCall call, $15.DeleteAllAttachmentsV2Request request);
}
