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

export 'elastic.pb.dart';

@$pb.GrpcServiceName('api.ElasticService')
class ElasticServiceClient extends $grpc.Client {
  static final _$updateModelMappings = $grpc.ClientMethod<$18.UpdateModelMappingsRequest, $18.UpdateModelMappingsResult>(
      '/api.ElasticService/UpdateModelMappings',
      ($18.UpdateModelMappingsRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $18.UpdateModelMappingsResult.fromBuffer(value));
  static final _$createProjectMappings = $grpc.ClientMethod<$18.CreateProjectMappingsRequest, $18.CreateProjectMappingsResult>(
      '/api.ElasticService/CreateProjectMappings',
      ($18.CreateProjectMappingsRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $18.CreateProjectMappingsResult.fromBuffer(value));
  static final _$deleteProjectMappings = $grpc.ClientMethod<$18.DeleteProjectMappingsRequest, $18.DeleteProjectMappingsResult>(
      '/api.ElasticService/DeleteProjectMappings',
      ($18.DeleteProjectMappingsRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $18.DeleteProjectMappingsResult.fromBuffer(value));
  static final _$clearIndexEntity = $grpc.ClientMethod<$18.ClearIndexEntityRequest, $18.ClearIndexEntityResult>(
      '/api.ElasticService/ClearIndexEntity',
      ($18.ClearIndexEntityRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $18.ClearIndexEntityResult.fromBuffer(value));

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

  $grpc.ResponseFuture<$18.UpdateModelMappingsResult> updateModelMappings($18.UpdateModelMappingsRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$updateModelMappings, request, options: options);
  }

  $grpc.ResponseFuture<$18.CreateProjectMappingsResult> createProjectMappings($18.CreateProjectMappingsRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$createProjectMappings, request, options: options);
  }

  $grpc.ResponseFuture<$18.DeleteProjectMappingsResult> deleteProjectMappings($18.DeleteProjectMappingsRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$deleteProjectMappings, request, options: options);
  }

  $grpc.ResponseFuture<$18.ClearIndexEntityResult> clearIndexEntity($18.ClearIndexEntityRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$clearIndexEntity, request, options: options);
  }
}

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

  ElasticServiceBase() {
    $addMethod($grpc.ServiceMethod<$18.UpdateModelMappingsRequest, $18.UpdateModelMappingsResult>(
        'UpdateModelMappings',
        updateModelMappings_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $18.UpdateModelMappingsRequest.fromBuffer(value),
        ($18.UpdateModelMappingsResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$18.CreateProjectMappingsRequest, $18.CreateProjectMappingsResult>(
        'CreateProjectMappings',
        createProjectMappings_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $18.CreateProjectMappingsRequest.fromBuffer(value),
        ($18.CreateProjectMappingsResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$18.DeleteProjectMappingsRequest, $18.DeleteProjectMappingsResult>(
        'DeleteProjectMappings',
        deleteProjectMappings_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $18.DeleteProjectMappingsRequest.fromBuffer(value),
        ($18.DeleteProjectMappingsResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$18.ClearIndexEntityRequest, $18.ClearIndexEntityResult>(
        'ClearIndexEntity',
        clearIndexEntity_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $18.ClearIndexEntityRequest.fromBuffer(value),
        ($18.ClearIndexEntityResult value) => value.writeToBuffer()));
  }

  $async.Future<$18.UpdateModelMappingsResult> updateModelMappings_Pre($grpc.ServiceCall $call, $async.Future<$18.UpdateModelMappingsRequest> $request) async {
    return updateModelMappings($call, await $request);
  }

  $async.Future<$18.CreateProjectMappingsResult> createProjectMappings_Pre($grpc.ServiceCall $call, $async.Future<$18.CreateProjectMappingsRequest> $request) async {
    return createProjectMappings($call, await $request);
  }

  $async.Future<$18.DeleteProjectMappingsResult> deleteProjectMappings_Pre($grpc.ServiceCall $call, $async.Future<$18.DeleteProjectMappingsRequest> $request) async {
    return deleteProjectMappings($call, await $request);
  }

  $async.Future<$18.ClearIndexEntityResult> clearIndexEntity_Pre($grpc.ServiceCall $call, $async.Future<$18.ClearIndexEntityRequest> $request) async {
    return clearIndexEntity($call, await $request);
  }

  $async.Future<$18.UpdateModelMappingsResult> updateModelMappings($grpc.ServiceCall call, $18.UpdateModelMappingsRequest request);
  $async.Future<$18.CreateProjectMappingsResult> createProjectMappings($grpc.ServiceCall call, $18.CreateProjectMappingsRequest request);
  $async.Future<$18.DeleteProjectMappingsResult> deleteProjectMappings($grpc.ServiceCall call, $18.DeleteProjectMappingsRequest request);
  $async.Future<$18.ClearIndexEntityResult> clearIndexEntity($grpc.ServiceCall call, $18.ClearIndexEntityRequest request);
}
