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

export 'elastic.pb.dart';

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

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

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

  $grpc.ResponseFuture<$0.CreateResourceMappingsResult> createResourceMappings($0.CreateResourceMappingsRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$createResourceMappings, request, options: options);
  }

  $grpc.ResponseFuture<$0.DeleteResourceMappingsResult> deleteResourceMappings($0.DeleteResourceMappingsRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$deleteResourceMappings, request, options: options);
  }

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

    // method descriptors

  static final _$updateModelMappings = $grpc.ClientMethod<$0.UpdateModelMappingsRequest, $0.UpdateModelMappingsResult>(
      '/api.ElasticService/UpdateModelMappings',
      ($0.UpdateModelMappingsRequest value) => value.writeToBuffer(),
      $0.UpdateModelMappingsResult.fromBuffer);
  static final _$createResourceMappings = $grpc.ClientMethod<$0.CreateResourceMappingsRequest, $0.CreateResourceMappingsResult>(
      '/api.ElasticService/CreateResourceMappings',
      ($0.CreateResourceMappingsRequest value) => value.writeToBuffer(),
      $0.CreateResourceMappingsResult.fromBuffer);
  static final _$deleteResourceMappings = $grpc.ClientMethod<$0.DeleteResourceMappingsRequest, $0.DeleteResourceMappingsResult>(
      '/api.ElasticService/DeleteResourceMappings',
      ($0.DeleteResourceMappingsRequest value) => value.writeToBuffer(),
      $0.DeleteResourceMappingsResult.fromBuffer);
  static final _$clearIndexEntity = $grpc.ClientMethod<$0.ClearIndexEntityRequest, $0.ClearIndexEntityResult>(
      '/api.ElasticService/ClearIndexEntity',
      ($0.ClearIndexEntityRequest value) => value.writeToBuffer(),
      $0.ClearIndexEntityResult.fromBuffer);
}

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

  ElasticServiceBase() {
    $addMethod($grpc.ServiceMethod<$0.UpdateModelMappingsRequest, $0.UpdateModelMappingsResult>(
        'UpdateModelMappings',
        updateModelMappings_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.UpdateModelMappingsRequest.fromBuffer(value),
        ($0.UpdateModelMappingsResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.CreateResourceMappingsRequest, $0.CreateResourceMappingsResult>(
        'CreateResourceMappings',
        createResourceMappings_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.CreateResourceMappingsRequest.fromBuffer(value),
        ($0.CreateResourceMappingsResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.DeleteResourceMappingsRequest, $0.DeleteResourceMappingsResult>(
        'DeleteResourceMappings',
        deleteResourceMappings_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.DeleteResourceMappingsRequest.fromBuffer(value),
        ($0.DeleteResourceMappingsResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.ClearIndexEntityRequest, $0.ClearIndexEntityResult>(
        'ClearIndexEntity',
        clearIndexEntity_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.ClearIndexEntityRequest.fromBuffer(value),
        ($0.ClearIndexEntityResult value) => value.writeToBuffer()));
  }

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

  $async.Future<$0.UpdateModelMappingsResult> updateModelMappings($grpc.ServiceCall call, $0.UpdateModelMappingsRequest request);

  $async.Future<$0.CreateResourceMappingsResult> createResourceMappings_Pre($grpc.ServiceCall $call, $async.Future<$0.CreateResourceMappingsRequest> $request) async {
    return createResourceMappings($call, await $request);
  }

  $async.Future<$0.CreateResourceMappingsResult> createResourceMappings($grpc.ServiceCall call, $0.CreateResourceMappingsRequest request);

  $async.Future<$0.DeleteResourceMappingsResult> deleteResourceMappings_Pre($grpc.ServiceCall $call, $async.Future<$0.DeleteResourceMappingsRequest> $request) async {
    return deleteResourceMappings($call, await $request);
  }

  $async.Future<$0.DeleteResourceMappingsResult> deleteResourceMappings($grpc.ServiceCall call, $0.DeleteResourceMappingsRequest request);

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

  $async.Future<$0.ClearIndexEntityResult> clearIndexEntity($grpc.ServiceCall call, $0.ClearIndexEntityRequest request);

}
