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

export 'restrictions.pb.dart';

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

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

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

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

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

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

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

  $grpc.ResponseFuture<$0.EnableRestrictionResponse> enable($0.EnableRestrictionRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$enable, request, options: options);
  }

  $grpc.ResponseFuture<$0.DisableRestrictionResponse> disable($0.DisableRestrictionRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$disable, request, options: options);
  }

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

  $grpc.ResponseFuture<$0.GetRulesJSONTreeResponse> getRulesJSONTree($0.GetRulesJSONTreeRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$getRulesJSONTree, request, options: options);
  }

  $grpc.ResponseFuture<$0.ValidateRestrictionRuleResponse> validateRule($0.ValidateRestrictionRuleRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$validateRule, request, options: options);
  }

  $grpc.ResponseFuture<$0.GetRuleJSONTreeResponse> getRuleJSONTree($0.GetRuleJSONTreeRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$getRuleJSONTree, request, options: options);
  }

  $grpc.ResponseFuture<$0.ComputeRuleResponse> compute($0.ComputeRuleRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$compute, request, options: options);
  }

    // method descriptors

  static final _$create = $grpc.ClientMethod<$0.CreateRestrictionRequest, $0.CreateRestrictionResponse>(
      '/api.RestrictionService/Create',
      ($0.CreateRestrictionRequest value) => value.writeToBuffer(),
      $0.CreateRestrictionResponse.fromBuffer);
  static final _$update = $grpc.ClientMethod<$0.UpdateRestrictionRequest, $0.UpdateRestrictionResponse>(
      '/api.RestrictionService/Update',
      ($0.UpdateRestrictionRequest value) => value.writeToBuffer(),
      $0.UpdateRestrictionResponse.fromBuffer);
  static final _$get = $grpc.ClientMethod<$0.GetRestrictionRequest, $0.GetRestrictionResponse>(
      '/api.RestrictionService/Get',
      ($0.GetRestrictionRequest value) => value.writeToBuffer(),
      $0.GetRestrictionResponse.fromBuffer);
  static final _$list = $grpc.ClientMethod<$0.ListRestrictionsRequest, $0.ListRestrictionsResponse>(
      '/api.RestrictionService/List',
      ($0.ListRestrictionsRequest value) => value.writeToBuffer(),
      $0.ListRestrictionsResponse.fromBuffer);
  static final _$delete = $grpc.ClientMethod<$0.DeleteRestrictionRequest, $0.DeleteRestrictionResponse>(
      '/api.RestrictionService/Delete',
      ($0.DeleteRestrictionRequest value) => value.writeToBuffer(),
      $0.DeleteRestrictionResponse.fromBuffer);
  static final _$enable = $grpc.ClientMethod<$0.EnableRestrictionRequest, $0.EnableRestrictionResponse>(
      '/api.RestrictionService/Enable',
      ($0.EnableRestrictionRequest value) => value.writeToBuffer(),
      $0.EnableRestrictionResponse.fromBuffer);
  static final _$disable = $grpc.ClientMethod<$0.DisableRestrictionRequest, $0.DisableRestrictionResponse>(
      '/api.RestrictionService/Disable',
      ($0.DisableRestrictionRequest value) => value.writeToBuffer(),
      $0.DisableRestrictionResponse.fromBuffer);
  static final _$deleteForProject = $grpc.ClientMethod<$0.DeleteForProjectRestrictionRequest, $0.DeleteForProjectRestrictionResponse>(
      '/api.RestrictionService/DeleteForProject',
      ($0.DeleteForProjectRestrictionRequest value) => value.writeToBuffer(),
      $0.DeleteForProjectRestrictionResponse.fromBuffer);
  static final _$getRulesJSONTree = $grpc.ClientMethod<$0.GetRulesJSONTreeRequest, $0.GetRulesJSONTreeResponse>(
      '/api.RestrictionService/GetRulesJSONTree',
      ($0.GetRulesJSONTreeRequest value) => value.writeToBuffer(),
      $0.GetRulesJSONTreeResponse.fromBuffer);
  static final _$validateRule = $grpc.ClientMethod<$0.ValidateRestrictionRuleRequest, $0.ValidateRestrictionRuleResponse>(
      '/api.RestrictionService/ValidateRule',
      ($0.ValidateRestrictionRuleRequest value) => value.writeToBuffer(),
      $0.ValidateRestrictionRuleResponse.fromBuffer);
  static final _$getRuleJSONTree = $grpc.ClientMethod<$0.GetRuleJSONTreeRequest, $0.GetRuleJSONTreeResponse>(
      '/api.RestrictionService/GetRuleJSONTree',
      ($0.GetRuleJSONTreeRequest value) => value.writeToBuffer(),
      $0.GetRuleJSONTreeResponse.fromBuffer);
  static final _$compute = $grpc.ClientMethod<$0.ComputeRuleRequest, $0.ComputeRuleResponse>(
      '/api.RestrictionService/Compute',
      ($0.ComputeRuleRequest value) => value.writeToBuffer(),
      $0.ComputeRuleResponse.fromBuffer);
}

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

  RestrictionServiceBase() {
    $addMethod($grpc.ServiceMethod<$0.CreateRestrictionRequest, $0.CreateRestrictionResponse>(
        'Create',
        create_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.CreateRestrictionRequest.fromBuffer(value),
        ($0.CreateRestrictionResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.UpdateRestrictionRequest, $0.UpdateRestrictionResponse>(
        'Update',
        update_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.UpdateRestrictionRequest.fromBuffer(value),
        ($0.UpdateRestrictionResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.GetRestrictionRequest, $0.GetRestrictionResponse>(
        'Get',
        get_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.GetRestrictionRequest.fromBuffer(value),
        ($0.GetRestrictionResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.ListRestrictionsRequest, $0.ListRestrictionsResponse>(
        'List',
        list_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.ListRestrictionsRequest.fromBuffer(value),
        ($0.ListRestrictionsResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.DeleteRestrictionRequest, $0.DeleteRestrictionResponse>(
        'Delete',
        delete_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.DeleteRestrictionRequest.fromBuffer(value),
        ($0.DeleteRestrictionResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.EnableRestrictionRequest, $0.EnableRestrictionResponse>(
        'Enable',
        enable_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.EnableRestrictionRequest.fromBuffer(value),
        ($0.EnableRestrictionResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.DisableRestrictionRequest, $0.DisableRestrictionResponse>(
        'Disable',
        disable_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.DisableRestrictionRequest.fromBuffer(value),
        ($0.DisableRestrictionResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.DeleteForProjectRestrictionRequest, $0.DeleteForProjectRestrictionResponse>(
        'DeleteForProject',
        deleteForProject_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.DeleteForProjectRestrictionRequest.fromBuffer(value),
        ($0.DeleteForProjectRestrictionResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.GetRulesJSONTreeRequest, $0.GetRulesJSONTreeResponse>(
        'GetRulesJSONTree',
        getRulesJSONTree_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.GetRulesJSONTreeRequest.fromBuffer(value),
        ($0.GetRulesJSONTreeResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.ValidateRestrictionRuleRequest, $0.ValidateRestrictionRuleResponse>(
        'ValidateRule',
        validateRule_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.ValidateRestrictionRuleRequest.fromBuffer(value),
        ($0.ValidateRestrictionRuleResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.GetRuleJSONTreeRequest, $0.GetRuleJSONTreeResponse>(
        'GetRuleJSONTree',
        getRuleJSONTree_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.GetRuleJSONTreeRequest.fromBuffer(value),
        ($0.GetRuleJSONTreeResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.ComputeRuleRequest, $0.ComputeRuleResponse>(
        'Compute',
        compute_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.ComputeRuleRequest.fromBuffer(value),
        ($0.ComputeRuleResponse value) => value.writeToBuffer()));
  }

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

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

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

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

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

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

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

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

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

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

  $async.Future<$0.EnableRestrictionResponse> enable_Pre($grpc.ServiceCall $call, $async.Future<$0.EnableRestrictionRequest> $request) async {
    return enable($call, await $request);
  }

  $async.Future<$0.EnableRestrictionResponse> enable($grpc.ServiceCall call, $0.EnableRestrictionRequest request);

  $async.Future<$0.DisableRestrictionResponse> disable_Pre($grpc.ServiceCall $call, $async.Future<$0.DisableRestrictionRequest> $request) async {
    return disable($call, await $request);
  }

  $async.Future<$0.DisableRestrictionResponse> disable($grpc.ServiceCall call, $0.DisableRestrictionRequest request);

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

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

  $async.Future<$0.GetRulesJSONTreeResponse> getRulesJSONTree_Pre($grpc.ServiceCall $call, $async.Future<$0.GetRulesJSONTreeRequest> $request) async {
    return getRulesJSONTree($call, await $request);
  }

  $async.Future<$0.GetRulesJSONTreeResponse> getRulesJSONTree($grpc.ServiceCall call, $0.GetRulesJSONTreeRequest request);

  $async.Future<$0.ValidateRestrictionRuleResponse> validateRule_Pre($grpc.ServiceCall $call, $async.Future<$0.ValidateRestrictionRuleRequest> $request) async {
    return validateRule($call, await $request);
  }

  $async.Future<$0.ValidateRestrictionRuleResponse> validateRule($grpc.ServiceCall call, $0.ValidateRestrictionRuleRequest request);

  $async.Future<$0.GetRuleJSONTreeResponse> getRuleJSONTree_Pre($grpc.ServiceCall $call, $async.Future<$0.GetRuleJSONTreeRequest> $request) async {
    return getRuleJSONTree($call, await $request);
  }

  $async.Future<$0.GetRuleJSONTreeResponse> getRuleJSONTree($grpc.ServiceCall call, $0.GetRuleJSONTreeRequest request);

  $async.Future<$0.ComputeRuleResponse> compute_Pre($grpc.ServiceCall $call, $async.Future<$0.ComputeRuleRequest> $request) async {
    return compute($call, await $request);
  }

  $async.Future<$0.ComputeRuleResponse> compute($grpc.ServiceCall call, $0.ComputeRuleRequest request);

}
