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

export 'opensearch.pb.dart';

@$pb.GrpcServiceName('api.OpenSearchService')
class OpenSearchServiceClient extends $grpc.Client {
  static final _$createUser = $grpc.ClientMethod<$40.CreateOpenSearchUserRequest, $40.CreateOpenSearchUserResponse>(
      '/api.OpenSearchService/CreateUser',
      ($40.CreateOpenSearchUserRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $40.CreateOpenSearchUserResponse.fromBuffer(value));
  static final _$deleteUser = $grpc.ClientMethod<$40.DeleteOpenSearchUserRequest, $40.DeleteOpenSearchUserResponse>(
      '/api.OpenSearchService/DeleteUser',
      ($40.DeleteOpenSearchUserRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $40.DeleteOpenSearchUserResponse.fromBuffer(value));
  static final _$createTenant = $grpc.ClientMethod<$40.CreateOpenSearchTenantRequest, $40.CreateOpenSearchTenantResponse>(
      '/api.OpenSearchService/CreateTenant',
      ($40.CreateOpenSearchTenantRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $40.CreateOpenSearchTenantResponse.fromBuffer(value));
  static final _$createProjectRole = $grpc.ClientMethod<$40.CreateOpenSearchProjectRoleRequest, $40.CreateOpenSearchProjectRoleResponse>(
      '/api.OpenSearchService/CreateProjectRole',
      ($40.CreateOpenSearchProjectRoleRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $40.CreateOpenSearchProjectRoleResponse.fromBuffer(value));
  static final _$deleteProject = $grpc.ClientMethod<$40.DeleteOpenSearchProjectRequest, $40.DeleteOpenSearchProjectResponse>(
      '/api.OpenSearchService/DeleteProject',
      ($40.DeleteOpenSearchProjectRequest value) => value.writeToBuffer(),
      ($core.List<$core.int> value) => $40.DeleteOpenSearchProjectResponse.fromBuffer(value));

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

  $grpc.ResponseFuture<$40.CreateOpenSearchUserResponse> createUser($40.CreateOpenSearchUserRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$createUser, request, options: options);
  }

  $grpc.ResponseFuture<$40.DeleteOpenSearchUserResponse> deleteUser($40.DeleteOpenSearchUserRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$deleteUser, request, options: options);
  }

  $grpc.ResponseFuture<$40.CreateOpenSearchTenantResponse> createTenant($40.CreateOpenSearchTenantRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$createTenant, request, options: options);
  }

  $grpc.ResponseFuture<$40.CreateOpenSearchProjectRoleResponse> createProjectRole($40.CreateOpenSearchProjectRoleRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$createProjectRole, request, options: options);
  }

  $grpc.ResponseFuture<$40.DeleteOpenSearchProjectResponse> deleteProject($40.DeleteOpenSearchProjectRequest request, {$grpc.CallOptions? options}) {
    return $createUnaryCall(_$deleteProject, request, options: options);
  }
}

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

  OpenSearchServiceBase() {
    $addMethod($grpc.ServiceMethod<$40.CreateOpenSearchUserRequest, $40.CreateOpenSearchUserResponse>(
        'CreateUser',
        createUser_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $40.CreateOpenSearchUserRequest.fromBuffer(value),
        ($40.CreateOpenSearchUserResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$40.DeleteOpenSearchUserRequest, $40.DeleteOpenSearchUserResponse>(
        'DeleteUser',
        deleteUser_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $40.DeleteOpenSearchUserRequest.fromBuffer(value),
        ($40.DeleteOpenSearchUserResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$40.CreateOpenSearchTenantRequest, $40.CreateOpenSearchTenantResponse>(
        'CreateTenant',
        createTenant_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $40.CreateOpenSearchTenantRequest.fromBuffer(value),
        ($40.CreateOpenSearchTenantResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$40.CreateOpenSearchProjectRoleRequest, $40.CreateOpenSearchProjectRoleResponse>(
        'CreateProjectRole',
        createProjectRole_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $40.CreateOpenSearchProjectRoleRequest.fromBuffer(value),
        ($40.CreateOpenSearchProjectRoleResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$40.DeleteOpenSearchProjectRequest, $40.DeleteOpenSearchProjectResponse>(
        'DeleteProject',
        deleteProject_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $40.DeleteOpenSearchProjectRequest.fromBuffer(value),
        ($40.DeleteOpenSearchProjectResponse value) => value.writeToBuffer()));
  }

  $async.Future<$40.CreateOpenSearchUserResponse> createUser_Pre($grpc.ServiceCall $call, $async.Future<$40.CreateOpenSearchUserRequest> $request) async {
    return createUser($call, await $request);
  }

  $async.Future<$40.DeleteOpenSearchUserResponse> deleteUser_Pre($grpc.ServiceCall $call, $async.Future<$40.DeleteOpenSearchUserRequest> $request) async {
    return deleteUser($call, await $request);
  }

  $async.Future<$40.CreateOpenSearchTenantResponse> createTenant_Pre($grpc.ServiceCall $call, $async.Future<$40.CreateOpenSearchTenantRequest> $request) async {
    return createTenant($call, await $request);
  }

  $async.Future<$40.CreateOpenSearchProjectRoleResponse> createProjectRole_Pre($grpc.ServiceCall $call, $async.Future<$40.CreateOpenSearchProjectRoleRequest> $request) async {
    return createProjectRole($call, await $request);
  }

  $async.Future<$40.DeleteOpenSearchProjectResponse> deleteProject_Pre($grpc.ServiceCall $call, $async.Future<$40.DeleteOpenSearchProjectRequest> $request) async {
    return deleteProject($call, await $request);
  }

  $async.Future<$40.CreateOpenSearchUserResponse> createUser($grpc.ServiceCall call, $40.CreateOpenSearchUserRequest request);
  $async.Future<$40.DeleteOpenSearchUserResponse> deleteUser($grpc.ServiceCall call, $40.DeleteOpenSearchUserRequest request);
  $async.Future<$40.CreateOpenSearchTenantResponse> createTenant($grpc.ServiceCall call, $40.CreateOpenSearchTenantRequest request);
  $async.Future<$40.CreateOpenSearchProjectRoleResponse> createProjectRole($grpc.ServiceCall call, $40.CreateOpenSearchProjectRoleRequest request);
  $async.Future<$40.DeleteOpenSearchProjectResponse> deleteProject($grpc.ServiceCall call, $40.DeleteOpenSearchProjectRequest request);
}
