// This is a generated file - do not edit.
//
// Generated from attachmentV2.proto.

// @dart = 3.3

// ignore_for_file: annotate_overrides, camel_case_types, comment_references
// ignore_for_file: constant_identifier_names
// ignore_for_file: curly_braces_in_flow_control_structures
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
// ignore_for_file: non_constant_identifier_names

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 $0;

export 'attachmentV2.pb.dart';

@$pb.GrpcServiceName('api.AttachmentServiceV2')
class AttachmentServiceV2Client extends $grpc.Client {
  /// The hostname for this service.
  static const $core.String defaultHost = '';

  /// OAuth scopes needed for the client.
  static const $core.List<$core.String> oauthScopes = [
    '',
  ];

  AttachmentServiceV2Client(super.channel, {super.options, super.interceptors});

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

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

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

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

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

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

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

    // method descriptors

  static final _$upload = $grpc.ClientMethod<$0.UploadAttachmentV2Request, $0.UploadAttachmentV2Response>(
      '/api.AttachmentServiceV2/Upload',
      ($0.UploadAttachmentV2Request value) => value.writeToBuffer(),
      $0.UploadAttachmentV2Response.fromBuffer);
  static final _$addLink = $grpc.ClientMethod<$0.AddLinkV2Request, $0.AddLinkV2Response>(
      '/api.AttachmentServiceV2/AddLink',
      ($0.AddLinkV2Request value) => value.writeToBuffer(),
      $0.AddLinkV2Response.fromBuffer);
  static final _$download = $grpc.ClientMethod<$0.DownloadAttachmentV2Request, $0.DownloadAttachmentV2Response>(
      '/api.AttachmentServiceV2/Download',
      ($0.DownloadAttachmentV2Request value) => value.writeToBuffer(),
      $0.DownloadAttachmentV2Response.fromBuffer);
  static final _$delete = $grpc.ClientMethod<$0.DeleteAttachmentV2Request, $0.DeleteAttachmentV2Response>(
      '/api.AttachmentServiceV2/Delete',
      ($0.DeleteAttachmentV2Request value) => value.writeToBuffer(),
      $0.DeleteAttachmentV2Response.fromBuffer);
  static final _$list = $grpc.ClientMethod<$0.ListAttachmentsV2Request, $0.ListAttachmentsV2Response>(
      '/api.AttachmentServiceV2/List',
      ($0.ListAttachmentsV2Request value) => value.writeToBuffer(),
      $0.ListAttachmentsV2Response.fromBuffer);
  static final _$share = $grpc.ClientMethod<$0.ShareAttachmentV2Request, $0.ShareAttachmentV2Response>(
      '/api.AttachmentServiceV2/Share',
      ($0.ShareAttachmentV2Request value) => value.writeToBuffer(),
      $0.ShareAttachmentV2Response.fromBuffer);
  static final _$deleteAll = $grpc.ClientMethod<$0.DeleteAllAttachmentsV2Request, $0.DeleteAllAttachmentsV2Response>(
      '/api.AttachmentServiceV2/DeleteAll',
      ($0.DeleteAllAttachmentsV2Request value) => value.writeToBuffer(),
      $0.DeleteAllAttachmentsV2Response.fromBuffer);
}

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

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

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

  $async.Future<$0.UploadAttachmentV2Response> upload($grpc.ServiceCall call, $0.UploadAttachmentV2Request request);

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

  $async.Future<$0.AddLinkV2Response> addLink($grpc.ServiceCall call, $0.AddLinkV2Request request);

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

  $async.Future<$0.DownloadAttachmentV2Response> download($grpc.ServiceCall call, $0.DownloadAttachmentV2Request request);

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

  $async.Future<$0.DeleteAttachmentV2Response> delete($grpc.ServiceCall call, $0.DeleteAttachmentV2Request request);

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

  $async.Future<$0.ListAttachmentsV2Response> list($grpc.ServiceCall call, $0.ListAttachmentsV2Request request);

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

  $async.Future<$0.ShareAttachmentV2Response> share($grpc.ServiceCall call, $0.ShareAttachmentV2Request request);

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

  $async.Future<$0.DeleteAllAttachmentsV2Response> deleteAll($grpc.ServiceCall call, $0.DeleteAllAttachmentsV2Request request);

}
