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

export 'restrictionLinks.pb.dart';

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

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

  $grpc.ResponseFuture<$0.CreateRestrictionLinkResponse> create($0.CreateRestrictionLinkRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$create, request, options: options);
  }

  $grpc.ResponseFuture<$0.UpdateRestrictionLinkResponse> update($0.UpdateRestrictionLinkRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$update, request, options: options);
  }

  $grpc.ResponseFuture<$0.DeleteRestrictionLinkResponse> delete($0.DeleteRestrictionLinkRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$delete, request, options: options);
  }

  $grpc.ResponseFuture<$0.GetRestrictionLinkResponse> get($0.GetRestrictionLinkRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$get, request, options: options);
  }

  $grpc.ResponseFuture<$0.ListRestrictionLinksResponse> list($0.ListRestrictionLinksRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$list, request, options: options);
  }

  $grpc.ResponseFuture<$0.SetUserActorsResponse> setUserActors($0.SetUserActorsRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$setUserActors, request, options: options);
  }

  $grpc.ResponseFuture<$0.DeleteForProjectRestrictionLinkResponse> deleteForProject($0.DeleteForProjectRestrictionLinkRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$deleteForProject, request, options: options);
  }

    // method descriptors

  static final _$create = $grpc.ClientMethod<$0.CreateRestrictionLinkRequest, $0.CreateRestrictionLinkResponse>(
      '/api.RestrictionLinkService/Create',
      ($0.CreateRestrictionLinkRequest value) => value.writeToBuffer(),
      $0.CreateRestrictionLinkResponse.fromBuffer);
  static final _$update = $grpc.ClientMethod<$0.UpdateRestrictionLinkRequest, $0.UpdateRestrictionLinkResponse>(
      '/api.RestrictionLinkService/Update',
      ($0.UpdateRestrictionLinkRequest value) => value.writeToBuffer(),
      $0.UpdateRestrictionLinkResponse.fromBuffer);
  static final _$delete = $grpc.ClientMethod<$0.DeleteRestrictionLinkRequest, $0.DeleteRestrictionLinkResponse>(
      '/api.RestrictionLinkService/Delete',
      ($0.DeleteRestrictionLinkRequest value) => value.writeToBuffer(),
      $0.DeleteRestrictionLinkResponse.fromBuffer);
  static final _$get = $grpc.ClientMethod<$0.GetRestrictionLinkRequest, $0.GetRestrictionLinkResponse>(
      '/api.RestrictionLinkService/Get',
      ($0.GetRestrictionLinkRequest value) => value.writeToBuffer(),
      $0.GetRestrictionLinkResponse.fromBuffer);
  static final _$list = $grpc.ClientMethod<$0.ListRestrictionLinksRequest, $0.ListRestrictionLinksResponse>(
      '/api.RestrictionLinkService/List',
      ($0.ListRestrictionLinksRequest value) => value.writeToBuffer(),
      $0.ListRestrictionLinksResponse.fromBuffer);
  static final _$setUserActors = $grpc.ClientMethod<$0.SetUserActorsRequest, $0.SetUserActorsResponse>(
      '/api.RestrictionLinkService/SetUserActors',
      ($0.SetUserActorsRequest value) => value.writeToBuffer(),
      $0.SetUserActorsResponse.fromBuffer);
  static final _$deleteForProject = $grpc.ClientMethod<$0.DeleteForProjectRestrictionLinkRequest, $0.DeleteForProjectRestrictionLinkResponse>(
      '/api.RestrictionLinkService/DeleteForProject',
      ($0.DeleteForProjectRestrictionLinkRequest value) => value.writeToBuffer(),
      $0.DeleteForProjectRestrictionLinkResponse.fromBuffer);
}

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

  RestrictionLinkServiceBase() {
    $addMethod($grpc.ServiceMethod<$0.CreateRestrictionLinkRequest, $0.CreateRestrictionLinkResponse>(
        'Create',
        create_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.CreateRestrictionLinkRequest.fromBuffer(value),
        ($0.CreateRestrictionLinkResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.UpdateRestrictionLinkRequest, $0.UpdateRestrictionLinkResponse>(
        'Update',
        update_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.UpdateRestrictionLinkRequest.fromBuffer(value),
        ($0.UpdateRestrictionLinkResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.DeleteRestrictionLinkRequest, $0.DeleteRestrictionLinkResponse>(
        'Delete',
        delete_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.DeleteRestrictionLinkRequest.fromBuffer(value),
        ($0.DeleteRestrictionLinkResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.GetRestrictionLinkRequest, $0.GetRestrictionLinkResponse>(
        'Get',
        get_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.GetRestrictionLinkRequest.fromBuffer(value),
        ($0.GetRestrictionLinkResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.ListRestrictionLinksRequest, $0.ListRestrictionLinksResponse>(
        'List',
        list_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.ListRestrictionLinksRequest.fromBuffer(value),
        ($0.ListRestrictionLinksResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.SetUserActorsRequest, $0.SetUserActorsResponse>(
        'SetUserActors',
        setUserActors_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.SetUserActorsRequest.fromBuffer(value),
        ($0.SetUserActorsResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.DeleteForProjectRestrictionLinkRequest, $0.DeleteForProjectRestrictionLinkResponse>(
        'DeleteForProject',
        deleteForProject_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.DeleteForProjectRestrictionLinkRequest.fromBuffer(value),
        ($0.DeleteForProjectRestrictionLinkResponse value) => value.writeToBuffer()));
  }

  $async.Future<$0.CreateRestrictionLinkResponse> create_Pre($grpc.ServiceCall $call, $async.Future<$0.CreateRestrictionLinkRequest> $request) async {
    return create($call, await $request);
  }

  $async.Future<$0.CreateRestrictionLinkResponse> create($grpc.ServiceCall call, $0.CreateRestrictionLinkRequest request);

  $async.Future<$0.UpdateRestrictionLinkResponse> update_Pre($grpc.ServiceCall $call, $async.Future<$0.UpdateRestrictionLinkRequest> $request) async {
    return update($call, await $request);
  }

  $async.Future<$0.UpdateRestrictionLinkResponse> update($grpc.ServiceCall call, $0.UpdateRestrictionLinkRequest request);

  $async.Future<$0.DeleteRestrictionLinkResponse> delete_Pre($grpc.ServiceCall $call, $async.Future<$0.DeleteRestrictionLinkRequest> $request) async {
    return delete($call, await $request);
  }

  $async.Future<$0.DeleteRestrictionLinkResponse> delete($grpc.ServiceCall call, $0.DeleteRestrictionLinkRequest request);

  $async.Future<$0.GetRestrictionLinkResponse> get_Pre($grpc.ServiceCall $call, $async.Future<$0.GetRestrictionLinkRequest> $request) async {
    return get($call, await $request);
  }

  $async.Future<$0.GetRestrictionLinkResponse> get($grpc.ServiceCall call, $0.GetRestrictionLinkRequest request);

  $async.Future<$0.ListRestrictionLinksResponse> list_Pre($grpc.ServiceCall $call, $async.Future<$0.ListRestrictionLinksRequest> $request) async {
    return list($call, await $request);
  }

  $async.Future<$0.ListRestrictionLinksResponse> list($grpc.ServiceCall call, $0.ListRestrictionLinksRequest request);

  $async.Future<$0.SetUserActorsResponse> setUserActors_Pre($grpc.ServiceCall $call, $async.Future<$0.SetUserActorsRequest> $request) async {
    return setUserActors($call, await $request);
  }

  $async.Future<$0.SetUserActorsResponse> setUserActors($grpc.ServiceCall call, $0.SetUserActorsRequest request);

  $async.Future<$0.DeleteForProjectRestrictionLinkResponse> deleteForProject_Pre($grpc.ServiceCall $call, $async.Future<$0.DeleteForProjectRestrictionLinkRequest> $request) async {
    return deleteForProject($call, await $request);
  }

  $async.Future<$0.DeleteForProjectRestrictionLinkResponse> deleteForProject($grpc.ServiceCall call, $0.DeleteForProjectRestrictionLinkRequest request);

}
