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

export 'users.pb.dart';

@$pb.GrpcServiceName('api.Users')
class UsersClient extends $grpc.Client {
  static final _$createUser = $grpc.ClientMethod<$50.CreateUserRequest, $50.CreateUserResult>(
      '/api.Users/CreateUser',
      ($50.CreateUserRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $50.CreateUserResult.fromBuffer(value));
  static final _$getUser = $grpc.ClientMethod<$50.GetUserRequest, $50.GetUserResult>(
      '/api.Users/GetUser',
      ($50.GetUserRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $50.GetUserResult.fromBuffer(value));
  static final _$listUsers = $grpc.ClientMethod<$50.ListUsersRequest, $50.ListUsersResult>(
      '/api.Users/ListUsers',
      ($50.ListUsersRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $50.ListUsersResult.fromBuffer(value));
  static final _$editUser = $grpc.ClientMethod<$50.EditUserRequest, $50.EditUserResult>(
      '/api.Users/EditUser',
      ($50.EditUserRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $50.EditUserResult.fromBuffer(value));
  static final _$deleteUser = $grpc.ClientMethod<$50.DeleteUserRequest, $50.DeleteUserResult>(
      '/api.Users/DeleteUser',
      ($50.DeleteUserRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $50.DeleteUserResult.fromBuffer(value));

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

  $grpc.ResponseFuture<$50.CreateUserResult> createUser($50.CreateUserRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$createUser, request, options: options);
  }

  $grpc.ResponseFuture<$50.GetUserResult> getUser($50.GetUserRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$getUser, request, options: options);
  }

  $grpc.ResponseFuture<$50.ListUsersResult> listUsers($50.ListUsersRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$listUsers, request, options: options);
  }

  $grpc.ResponseFuture<$50.EditUserResult> editUser($50.EditUserRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$editUser, request, options: options);
  }

  $grpc.ResponseFuture<$50.DeleteUserResult> deleteUser($50.DeleteUserRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$deleteUser, request, options: options);
  }
}

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

  UsersServiceBase() {
    $addMethod($grpc.ServiceMethod<$50.CreateUserRequest, $50.CreateUserResult>(
        'CreateUser',
        createUser_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $50.CreateUserRequest.fromBuffer(value),
        ($50.CreateUserResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$50.GetUserRequest, $50.GetUserResult>(
        'GetUser',
        getUser_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $50.GetUserRequest.fromBuffer(value),
        ($50.GetUserResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$50.ListUsersRequest, $50.ListUsersResult>(
        'ListUsers',
        listUsers_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $50.ListUsersRequest.fromBuffer(value),
        ($50.ListUsersResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$50.EditUserRequest, $50.EditUserResult>(
        'EditUser',
        editUser_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $50.EditUserRequest.fromBuffer(value),
        ($50.EditUserResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$50.DeleteUserRequest, $50.DeleteUserResult>(
        'DeleteUser',
        deleteUser_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $50.DeleteUserRequest.fromBuffer(value),
        ($50.DeleteUserResult value) => value.writeToBuffer()));
  }

  $async.Future<$50.CreateUserResult> createUser_Pre($grpc.ServiceCall $call, $async.Future<$50.CreateUserRequest> $request) async {
    return createUser($call, await $request);
  }

  $async.Future<$50.GetUserResult> getUser_Pre($grpc.ServiceCall $call, $async.Future<$50.GetUserRequest> $request) async {
    return getUser($call, await $request);
  }

  $async.Future<$50.ListUsersResult> listUsers_Pre($grpc.ServiceCall $call, $async.Future<$50.ListUsersRequest> $request) async {
    return listUsers($call, await $request);
  }

  $async.Future<$50.EditUserResult> editUser_Pre($grpc.ServiceCall $call, $async.Future<$50.EditUserRequest> $request) async {
    return editUser($call, await $request);
  }

  $async.Future<$50.DeleteUserResult> deleteUser_Pre($grpc.ServiceCall $call, $async.Future<$50.DeleteUserRequest> $request) async {
    return deleteUser($call, await $request);
  }

  $async.Future<$50.CreateUserResult> createUser($grpc.ServiceCall call, $50.CreateUserRequest request);
  $async.Future<$50.GetUserResult> getUser($grpc.ServiceCall call, $50.GetUserRequest request);
  $async.Future<$50.ListUsersResult> listUsers($grpc.ServiceCall call, $50.ListUsersRequest request);
  $async.Future<$50.EditUserResult> editUser($grpc.ServiceCall call, $50.EditUserRequest request);
  $async.Future<$50.DeleteUserResult> deleteUser($grpc.ServiceCall call, $50.DeleteUserRequest request);
}
