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

export 'opensearch.pb.dart';

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

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

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

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

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

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

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

    // method descriptors

  static final _$createUser = $grpc.ClientMethod<$0.CreateOpenSearchUserRequest, $0.CreateOpenSearchUserResponse>(
      '/api.OpenSearchService/CreateUser',
      ($0.CreateOpenSearchUserRequest value) => value.writeToBuffer(),
      $0.CreateOpenSearchUserResponse.fromBuffer);
  static final _$deleteUser = $grpc.ClientMethod<$0.DeleteOpenSearchUserRequest, $0.DeleteOpenSearchUserResponse>(
      '/api.OpenSearchService/DeleteUser',
      ($0.DeleteOpenSearchUserRequest value) => value.writeToBuffer(),
      $0.DeleteOpenSearchUserResponse.fromBuffer);
  static final _$createTenant = $grpc.ClientMethod<$0.CreateOpenSearchTenantRequest, $0.CreateOpenSearchTenantResponse>(
      '/api.OpenSearchService/CreateTenant',
      ($0.CreateOpenSearchTenantRequest value) => value.writeToBuffer(),
      $0.CreateOpenSearchTenantResponse.fromBuffer);
  static final _$createProjectRole = $grpc.ClientMethod<$0.CreateOpenSearchProjectRoleRequest, $0.CreateOpenSearchProjectRoleResponse>(
      '/api.OpenSearchService/CreateProjectRole',
      ($0.CreateOpenSearchProjectRoleRequest value) => value.writeToBuffer(),
      $0.CreateOpenSearchProjectRoleResponse.fromBuffer);
  static final _$deleteProject = $grpc.ClientMethod<$0.DeleteOpenSearchProjectRequest, $0.DeleteOpenSearchProjectResponse>(
      '/api.OpenSearchService/DeleteProject',
      ($0.DeleteOpenSearchProjectRequest value) => value.writeToBuffer(),
      $0.DeleteOpenSearchProjectResponse.fromBuffer);
}

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

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

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

  $async.Future<$0.CreateOpenSearchUserResponse> createUser($grpc.ServiceCall call, $0.CreateOpenSearchUserRequest request);

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

  $async.Future<$0.DeleteOpenSearchUserResponse> deleteUser($grpc.ServiceCall call, $0.DeleteOpenSearchUserRequest request);

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

  $async.Future<$0.CreateOpenSearchTenantResponse> createTenant($grpc.ServiceCall call, $0.CreateOpenSearchTenantRequest request);

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

  $async.Future<$0.CreateOpenSearchProjectRoleResponse> createProjectRole($grpc.ServiceCall call, $0.CreateOpenSearchProjectRoleRequest request);

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

  $async.Future<$0.DeleteOpenSearchProjectResponse> deleteProject($grpc.ServiceCall call, $0.DeleteOpenSearchProjectRequest request);

}
