//
//  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 $53;

export 'opensearch.pb.dart';

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

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

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

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

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

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

  $grpc.ResponseFuture<$53.DeleteOpenSearchProjectResponse> deleteProject($53.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<$53.CreateOpenSearchUserRequest, $53.CreateOpenSearchUserResponse>(
        'CreateUser',
        createUser_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $53.CreateOpenSearchUserRequest.fromBuffer(value),
        ($53.CreateOpenSearchUserResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$53.DeleteOpenSearchUserRequest, $53.DeleteOpenSearchUserResponse>(
        'DeleteUser',
        deleteUser_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $53.DeleteOpenSearchUserRequest.fromBuffer(value),
        ($53.DeleteOpenSearchUserResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$53.CreateOpenSearchTenantRequest, $53.CreateOpenSearchTenantResponse>(
        'CreateTenant',
        createTenant_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $53.CreateOpenSearchTenantRequest.fromBuffer(value),
        ($53.CreateOpenSearchTenantResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$53.CreateOpenSearchProjectRoleRequest, $53.CreateOpenSearchProjectRoleResponse>(
        'CreateProjectRole',
        createProjectRole_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $53.CreateOpenSearchProjectRoleRequest.fromBuffer(value),
        ($53.CreateOpenSearchProjectRoleResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$53.DeleteOpenSearchProjectRequest, $53.DeleteOpenSearchProjectResponse>(
        'DeleteProject',
        deleteProject_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $53.DeleteOpenSearchProjectRequest.fromBuffer(value),
        ($53.DeleteOpenSearchProjectResponse value) => value.writeToBuffer()));
  }

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

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

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

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

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

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