// This is a generated file - do not edit.
//
// Generated from users.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 'users.pb.dart' as $0;

export 'users.pb.dart';

@$pb.GrpcServiceName('api.Users')
class UsersClient 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 = [
    '',
  ];

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

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

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

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

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

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

    // method descriptors

  static final _$createUser = $grpc.ClientMethod<$0.CreateUserRequest, $0.CreateUserResult>(
      '/api.Users/CreateUser',
      ($0.CreateUserRequest value) => value.writeToBuffer(),
      $0.CreateUserResult.fromBuffer);
  static final _$getUser = $grpc.ClientMethod<$0.GetUserRequest, $0.GetUserResult>(
      '/api.Users/GetUser',
      ($0.GetUserRequest value) => value.writeToBuffer(),
      $0.GetUserResult.fromBuffer);
  static final _$listUsers = $grpc.ClientMethod<$0.ListUsersRequest, $0.ListUsersResult>(
      '/api.Users/ListUsers',
      ($0.ListUsersRequest value) => value.writeToBuffer(),
      $0.ListUsersResult.fromBuffer);
  static final _$editUser = $grpc.ClientMethod<$0.EditUserRequest, $0.EditUserResult>(
      '/api.Users/EditUser',
      ($0.EditUserRequest value) => value.writeToBuffer(),
      $0.EditUserResult.fromBuffer);
  static final _$deleteUser = $grpc.ClientMethod<$0.DeleteUserRequest, $0.DeleteUserResult>(
      '/api.Users/DeleteUser',
      ($0.DeleteUserRequest value) => value.writeToBuffer(),
      $0.DeleteUserResult.fromBuffer);
}

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

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

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

  $async.Future<$0.CreateUserResult> createUser($grpc.ServiceCall call, $0.CreateUserRequest request);

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

  $async.Future<$0.GetUserResult> getUser($grpc.ServiceCall call, $0.GetUserRequest request);

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

  $async.Future<$0.ListUsersResult> listUsers($grpc.ServiceCall call, $0.ListUsersRequest request);

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

  $async.Future<$0.EditUserResult> editUser($grpc.ServiceCall call, $0.EditUserRequest request);

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

  $async.Future<$0.DeleteUserResult> deleteUser($grpc.ServiceCall call, $0.DeleteUserRequest request);

}
