//
//  Generated code. Do not modify.
//  source: user-attributes.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 'user-attributes.pb.dart' as $9;

export 'user-attributes.pb.dart';

@$pb.GrpcServiceName('api.UserAttributesService')
class UserAttributesServiceClient extends $grpc.Client {
  static final _$get = $grpc.ClientMethod<$9.GetUserAttributesRequest, $9.GetUserAttributesResult>(
      '/api.UserAttributesService/Get',
      ($9.GetUserAttributesRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $9.GetUserAttributesResult.fromBuffer(value));
  static final _$put = $grpc.ClientMethod<$9.PutUserAttributesRequest, $9.PutUserAttributesResult>(
      '/api.UserAttributesService/Put',
      ($9.PutUserAttributesRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $9.PutUserAttributesResult.fromBuffer(value));
  static final _$delete = $grpc.ClientMethod<$9.DeleteUserAttributesRequest, $9.DeleteUserAttributesResult>(
      '/api.UserAttributesService/Delete',
      ($9.DeleteUserAttributesRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $9.DeleteUserAttributesResult.fromBuffer(value));
  static final _$list = $grpc.ClientMethod<$9.ListUserAttributesRequest, $9.ListUserAttributesResult>(
      '/api.UserAttributesService/List',
      ($9.ListUserAttributesRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $9.ListUserAttributesResult.fromBuffer(value));
  static final _$deleteForProject = $grpc.ClientMethod<$9.DeleteForProjectUserAttributesRequest, $9.DeleteForProjectUserAttributesResult>(
      '/api.UserAttributesService/DeleteForProject',
      ($9.DeleteForProjectUserAttributesRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $9.DeleteForProjectUserAttributesResult.fromBuffer(value));

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

  $grpc.ResponseFuture<$9.GetUserAttributesResult> get($9.GetUserAttributesRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$get, request, options: options);
  }

  $grpc.ResponseFuture<$9.PutUserAttributesResult> put($9.PutUserAttributesRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$put, request, options: options);
  }

  $grpc.ResponseFuture<$9.DeleteUserAttributesResult> delete($9.DeleteUserAttributesRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$delete, request, options: options);
  }

  $grpc.ResponseFuture<$9.ListUserAttributesResult> list($9.ListUserAttributesRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$list, request, options: options);
  }

  $grpc.ResponseFuture<$9.DeleteForProjectUserAttributesResult> deleteForProject($9.DeleteForProjectUserAttributesRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$deleteForProject, request, options: options);
  }
}

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

  UserAttributesServiceBase() {
    $addMethod($grpc.ServiceMethod<$9.GetUserAttributesRequest, $9.GetUserAttributesResult>(
        'Get',
        get_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $9.GetUserAttributesRequest.fromBuffer(value),
        ($9.GetUserAttributesResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$9.PutUserAttributesRequest, $9.PutUserAttributesResult>(
        'Put',
        put_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $9.PutUserAttributesRequest.fromBuffer(value),
        ($9.PutUserAttributesResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$9.DeleteUserAttributesRequest, $9.DeleteUserAttributesResult>(
        'Delete',
        delete_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $9.DeleteUserAttributesRequest.fromBuffer(value),
        ($9.DeleteUserAttributesResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$9.ListUserAttributesRequest, $9.ListUserAttributesResult>(
        'List',
        list_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $9.ListUserAttributesRequest.fromBuffer(value),
        ($9.ListUserAttributesResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$9.DeleteForProjectUserAttributesRequest, $9.DeleteForProjectUserAttributesResult>(
        'DeleteForProject',
        deleteForProject_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $9.DeleteForProjectUserAttributesRequest.fromBuffer(value),
        ($9.DeleteForProjectUserAttributesResult value) => value.writeToBuffer()));
  }

  $async.Future<$9.GetUserAttributesResult> get_Pre($grpc.ServiceCall $call, $async.Future<$9.GetUserAttributesRequest> $request) async {
    return get($call, await $request);
  }

  $async.Future<$9.PutUserAttributesResult> put_Pre($grpc.ServiceCall $call, $async.Future<$9.PutUserAttributesRequest> $request) async {
    return put($call, await $request);
  }

  $async.Future<$9.DeleteUserAttributesResult> delete_Pre($grpc.ServiceCall $call, $async.Future<$9.DeleteUserAttributesRequest> $request) async {
    return delete($call, await $request);
  }

  $async.Future<$9.ListUserAttributesResult> list_Pre($grpc.ServiceCall $call, $async.Future<$9.ListUserAttributesRequest> $request) async {
    return list($call, await $request);
  }

  $async.Future<$9.DeleteForProjectUserAttributesResult> deleteForProject_Pre($grpc.ServiceCall $call, $async.Future<$9.DeleteForProjectUserAttributesRequest> $request) async {
    return deleteForProject($call, await $request);
  }

  $async.Future<$9.GetUserAttributesResult> get($grpc.ServiceCall call, $9.GetUserAttributesRequest request);
  $async.Future<$9.PutUserAttributesResult> put($grpc.ServiceCall call, $9.PutUserAttributesRequest request);
  $async.Future<$9.DeleteUserAttributesResult> delete($grpc.ServiceCall call, $9.DeleteUserAttributesRequest request);
  $async.Future<$9.ListUserAttributesResult> list($grpc.ServiceCall call, $9.ListUserAttributesRequest request);
  $async.Future<$9.DeleteForProjectUserAttributesResult> deleteForProject($grpc.ServiceCall call, $9.DeleteForProjectUserAttributesRequest request);
}
