//
//  Generated code. Do not modify.
//  source: restrictions.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 'restrictions.pb.dart' as $61;

export 'restrictions.pb.dart';

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

  RestrictionServiceClient($grpc.ClientChannel channel,
      {$grpc.CallOptions? options,
      $core.Iterable<$grpc.ClientInterceptor>? interceptors})
      : super(channel, options: options,
        interceptors: interceptors);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  $async.Future<$61.CreateRestrictionResponse> create($grpc.ServiceCall call, $61.CreateRestrictionRequest request);
  $async.Future<$61.UpdateRestrictionResponse> update($grpc.ServiceCall call, $61.UpdateRestrictionRequest request);
  $async.Future<$61.GetRestrictionResponse> get($grpc.ServiceCall call, $61.GetRestrictionRequest request);
  $async.Future<$61.ListRestrictionsResponse> list($grpc.ServiceCall call, $61.ListRestrictionsRequest request);
  $async.Future<$61.DeleteRestrictionResponse> delete($grpc.ServiceCall call, $61.DeleteRestrictionRequest request);
  $async.Future<$61.EnableRestrictionResponse> enable($grpc.ServiceCall call, $61.EnableRestrictionRequest request);
  $async.Future<$61.DisableRestrictionResponse> disable($grpc.ServiceCall call, $61.DisableRestrictionRequest request);
  $async.Future<$61.DeleteForProjectRestrictionResponse> deleteForProject($grpc.ServiceCall call, $61.DeleteForProjectRestrictionRequest request);
  $async.Future<$61.GetRulesJSONTreeResponse> getRulesJSONTree($grpc.ServiceCall call, $61.GetRulesJSONTreeRequest request);
  $async.Future<$61.ValidateRestrictionRuleResponse> validateRule($grpc.ServiceCall call, $61.ValidateRestrictionRuleRequest request);
  $async.Future<$61.GetRuleJSONTreeResponse> getRuleJSONTree($grpc.ServiceCall call, $61.GetRuleJSONTreeRequest request);
  $async.Future<$61.ComputeRuleResponse> compute($grpc.ServiceCall call, $61.ComputeRuleRequest request);
}
