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

export 'nats-api.pb.dart';

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

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

  $grpc.ResponseFuture<$0.CreateProjectAccountResult> createProjectAccount($0.CreateProjectAccountRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$createProjectAccount, request, options: options);
  }

  $grpc.ResponseFuture<$0.DeleteProjectAccountResult> deleteProjectAccount($0.DeleteProjectAccountRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$deleteProjectAccount, request, options: options);
  }

  $grpc.ResponseFuture<$0.CreatePartnerAppUserResult> createPartnerAppUser($0.CreatePartnerAppUserRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$createPartnerAppUser, request, options: options);
  }

  $grpc.ResponseFuture<$0.DeletePartnerAppUserResult> deletePartnerAppUser($0.DeletePartnerAppUserRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$deletePartnerAppUser, request, options: options);
  }

  $grpc.ResponseFuture<$0.RenewProjectAccountCredentialsResult> renewProjectAccountCredentials($0.RenewProjectAccountCredentialsRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$renewProjectAccountCredentials, request, options: options);
  }

  $grpc.ResponseFuture<$0.RenewPartnerAppUserCredentialsResult> renewPartnerAppUserCredentials($0.RenewPartnerAppUserCredentialsRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$renewPartnerAppUserCredentials, request, options: options);
  }

  $grpc.ResponseFuture<$0.PushMessageResult> pushMessage($0.PushMessageRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$pushMessage, request, options: options);
  }

    // method descriptors

  static final _$createProjectAccount = $grpc.ClientMethod<$0.CreateProjectAccountRequest, $0.CreateProjectAccountResult>(
      '/api.NatsService/CreateProjectAccount',
      ($0.CreateProjectAccountRequest value) => value.writeToBuffer(),
      $0.CreateProjectAccountResult.fromBuffer);
  static final _$deleteProjectAccount = $grpc.ClientMethod<$0.DeleteProjectAccountRequest, $0.DeleteProjectAccountResult>(
      '/api.NatsService/DeleteProjectAccount',
      ($0.DeleteProjectAccountRequest value) => value.writeToBuffer(),
      $0.DeleteProjectAccountResult.fromBuffer);
  static final _$createPartnerAppUser = $grpc.ClientMethod<$0.CreatePartnerAppUserRequest, $0.CreatePartnerAppUserResult>(
      '/api.NatsService/CreatePartnerAppUser',
      ($0.CreatePartnerAppUserRequest value) => value.writeToBuffer(),
      $0.CreatePartnerAppUserResult.fromBuffer);
  static final _$deletePartnerAppUser = $grpc.ClientMethod<$0.DeletePartnerAppUserRequest, $0.DeletePartnerAppUserResult>(
      '/api.NatsService/DeletePartnerAppUser',
      ($0.DeletePartnerAppUserRequest value) => value.writeToBuffer(),
      $0.DeletePartnerAppUserResult.fromBuffer);
  static final _$renewProjectAccountCredentials = $grpc.ClientMethod<$0.RenewProjectAccountCredentialsRequest, $0.RenewProjectAccountCredentialsResult>(
      '/api.NatsService/RenewProjectAccountCredentials',
      ($0.RenewProjectAccountCredentialsRequest value) => value.writeToBuffer(),
      $0.RenewProjectAccountCredentialsResult.fromBuffer);
  static final _$renewPartnerAppUserCredentials = $grpc.ClientMethod<$0.RenewPartnerAppUserCredentialsRequest, $0.RenewPartnerAppUserCredentialsResult>(
      '/api.NatsService/RenewPartnerAppUserCredentials',
      ($0.RenewPartnerAppUserCredentialsRequest value) => value.writeToBuffer(),
      $0.RenewPartnerAppUserCredentialsResult.fromBuffer);
  static final _$pushMessage = $grpc.ClientMethod<$0.PushMessageRequest, $0.PushMessageResult>(
      '/api.NatsService/PushMessage',
      ($0.PushMessageRequest value) => value.writeToBuffer(),
      $0.PushMessageResult.fromBuffer);
}

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

  NatsServiceBase() {
    $addMethod($grpc.ServiceMethod<$0.CreateProjectAccountRequest, $0.CreateProjectAccountResult>(
        'CreateProjectAccount',
        createProjectAccount_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.CreateProjectAccountRequest.fromBuffer(value),
        ($0.CreateProjectAccountResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.DeleteProjectAccountRequest, $0.DeleteProjectAccountResult>(
        'DeleteProjectAccount',
        deleteProjectAccount_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.DeleteProjectAccountRequest.fromBuffer(value),
        ($0.DeleteProjectAccountResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.CreatePartnerAppUserRequest, $0.CreatePartnerAppUserResult>(
        'CreatePartnerAppUser',
        createPartnerAppUser_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.CreatePartnerAppUserRequest.fromBuffer(value),
        ($0.CreatePartnerAppUserResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.DeletePartnerAppUserRequest, $0.DeletePartnerAppUserResult>(
        'DeletePartnerAppUser',
        deletePartnerAppUser_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.DeletePartnerAppUserRequest.fromBuffer(value),
        ($0.DeletePartnerAppUserResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.RenewProjectAccountCredentialsRequest, $0.RenewProjectAccountCredentialsResult>(
        'RenewProjectAccountCredentials',
        renewProjectAccountCredentials_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.RenewProjectAccountCredentialsRequest.fromBuffer(value),
        ($0.RenewProjectAccountCredentialsResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.RenewPartnerAppUserCredentialsRequest, $0.RenewPartnerAppUserCredentialsResult>(
        'RenewPartnerAppUserCredentials',
        renewPartnerAppUserCredentials_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.RenewPartnerAppUserCredentialsRequest.fromBuffer(value),
        ($0.RenewPartnerAppUserCredentialsResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.PushMessageRequest, $0.PushMessageResult>(
        'PushMessage',
        pushMessage_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.PushMessageRequest.fromBuffer(value),
        ($0.PushMessageResult value) => value.writeToBuffer()));
  }

  $async.Future<$0.CreateProjectAccountResult> createProjectAccount_Pre($grpc.ServiceCall $call, $async.Future<$0.CreateProjectAccountRequest> $request) async {
    return createProjectAccount($call, await $request);
  }

  $async.Future<$0.CreateProjectAccountResult> createProjectAccount($grpc.ServiceCall call, $0.CreateProjectAccountRequest request);

  $async.Future<$0.DeleteProjectAccountResult> deleteProjectAccount_Pre($grpc.ServiceCall $call, $async.Future<$0.DeleteProjectAccountRequest> $request) async {
    return deleteProjectAccount($call, await $request);
  }

  $async.Future<$0.DeleteProjectAccountResult> deleteProjectAccount($grpc.ServiceCall call, $0.DeleteProjectAccountRequest request);

  $async.Future<$0.CreatePartnerAppUserResult> createPartnerAppUser_Pre($grpc.ServiceCall $call, $async.Future<$0.CreatePartnerAppUserRequest> $request) async {
    return createPartnerAppUser($call, await $request);
  }

  $async.Future<$0.CreatePartnerAppUserResult> createPartnerAppUser($grpc.ServiceCall call, $0.CreatePartnerAppUserRequest request);

  $async.Future<$0.DeletePartnerAppUserResult> deletePartnerAppUser_Pre($grpc.ServiceCall $call, $async.Future<$0.DeletePartnerAppUserRequest> $request) async {
    return deletePartnerAppUser($call, await $request);
  }

  $async.Future<$0.DeletePartnerAppUserResult> deletePartnerAppUser($grpc.ServiceCall call, $0.DeletePartnerAppUserRequest request);

  $async.Future<$0.RenewProjectAccountCredentialsResult> renewProjectAccountCredentials_Pre($grpc.ServiceCall $call, $async.Future<$0.RenewProjectAccountCredentialsRequest> $request) async {
    return renewProjectAccountCredentials($call, await $request);
  }

  $async.Future<$0.RenewProjectAccountCredentialsResult> renewProjectAccountCredentials($grpc.ServiceCall call, $0.RenewProjectAccountCredentialsRequest request);

  $async.Future<$0.RenewPartnerAppUserCredentialsResult> renewPartnerAppUserCredentials_Pre($grpc.ServiceCall $call, $async.Future<$0.RenewPartnerAppUserCredentialsRequest> $request) async {
    return renewPartnerAppUserCredentials($call, await $request);
  }

  $async.Future<$0.RenewPartnerAppUserCredentialsResult> renewPartnerAppUserCredentials($grpc.ServiceCall call, $0.RenewPartnerAppUserCredentialsRequest request);

  $async.Future<$0.PushMessageResult> pushMessage_Pre($grpc.ServiceCall $call, $async.Future<$0.PushMessageRequest> $request) async {
    return pushMessage($call, await $request);
  }

  $async.Future<$0.PushMessageResult> pushMessage($grpc.ServiceCall call, $0.PushMessageRequest request);

}
