//
//  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 $61;

export 'users.pb.dart';

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

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

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

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

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

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

  $grpc.ResponseFuture<$61.DeleteUserResult> deleteUser($61.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<$61.CreateUserRequest, $61.CreateUserResult>(
        'CreateUser',
        createUser_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $61.CreateUserRequest.fromBuffer(value),
        ($61.CreateUserResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$61.GetUserRequest, $61.GetUserResult>(
        'GetUser',
        getUser_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $61.GetUserRequest.fromBuffer(value),
        ($61.GetUserResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$61.ListUsersRequest, $61.ListUsersResult>(
        'ListUsers',
        listUsers_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $61.ListUsersRequest.fromBuffer(value),
        ($61.ListUsersResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$61.EditUserRequest, $61.EditUserResult>(
        'EditUser',
        editUser_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $61.EditUserRequest.fromBuffer(value),
        ($61.EditUserResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$61.DeleteUserRequest, $61.DeleteUserResult>(
        'DeleteUser',
        deleteUser_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $61.DeleteUserRequest.fromBuffer(value),
        ($61.DeleteUserResult value) => value.writeToBuffer()));
  }

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

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

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

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

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

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