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

export 'matrix-proxy.pb.dart';

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

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

  $grpc.ResponseFuture<$0.CreateRoomResponse> createRoom($0.CreateRoomRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$createRoom, request, options: options);
  }

  $grpc.ResponseFuture<$0.DeleteRoomResponse> deleteRoom($0.DeleteRoomRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$deleteRoom, request, options: options);
  }

  $grpc.ResponseFuture<$0.InviteUserToRoomResponse> inviteUserToRoom($0.InviteUserToRoomRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$inviteUserToRoom, request, options: options);
  }

  $grpc.ResponseFuture<$0.SendNoticeToRoomResponse> sendNoticeToRoom($0.SendNoticeToRoomRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$sendNoticeToRoom, request, options: options);
  }

  $grpc.ResponseFuture<$0.CreateProjectRoomResponse> createProjectRoom($0.CreateProjectRoomRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$createProjectRoom, request, options: options);
  }

  $grpc.ResponseFuture<$0.DeleteProjectRoomResponse> deleteProjectRoom($0.DeleteProjectRoomRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$deleteProjectRoom, request, options: options);
  }

  $grpc.ResponseFuture<$0.InviteUserToProjectRoomResponse> inviteUserToProjectRoom($0.InviteUserToProjectRoomRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$inviteUserToProjectRoom, request, options: options);
  }

  $grpc.ResponseFuture<$0.SendNoticeToProjectRoomResponse> sendNoticeToProjectRoom($0.SendNoticeToProjectRoomRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$sendNoticeToProjectRoom, request, options: options);
  }

  $grpc.ResponseFuture<$0.DeleteRoomsForProjectResponse> deleteRoomsForProject($0.DeleteRoomsForProjectRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$deleteRoomsForProject, request, options: options);
  }

  $grpc.ResponseFuture<$0.SendMessageToProjectRoomResponse> sendMessageToProjectRoom($0.SendMessageToProjectRoomRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$sendMessageToProjectRoom, request, options: options);
  }

    // method descriptors

  static final _$createRoom = $grpc.ClientMethod<$0.CreateRoomRequest, $0.CreateRoomResponse>(
      '/api.MatrixProxyService/CreateRoom',
      ($0.CreateRoomRequest value) => value.writeToBuffer(),
      $0.CreateRoomResponse.fromBuffer);
  static final _$deleteRoom = $grpc.ClientMethod<$0.DeleteRoomRequest, $0.DeleteRoomResponse>(
      '/api.MatrixProxyService/DeleteRoom',
      ($0.DeleteRoomRequest value) => value.writeToBuffer(),
      $0.DeleteRoomResponse.fromBuffer);
  static final _$inviteUserToRoom = $grpc.ClientMethod<$0.InviteUserToRoomRequest, $0.InviteUserToRoomResponse>(
      '/api.MatrixProxyService/InviteUserToRoom',
      ($0.InviteUserToRoomRequest value) => value.writeToBuffer(),
      $0.InviteUserToRoomResponse.fromBuffer);
  static final _$sendNoticeToRoom = $grpc.ClientMethod<$0.SendNoticeToRoomRequest, $0.SendNoticeToRoomResponse>(
      '/api.MatrixProxyService/SendNoticeToRoom',
      ($0.SendNoticeToRoomRequest value) => value.writeToBuffer(),
      $0.SendNoticeToRoomResponse.fromBuffer);
  static final _$createProjectRoom = $grpc.ClientMethod<$0.CreateProjectRoomRequest, $0.CreateProjectRoomResponse>(
      '/api.MatrixProxyService/CreateProjectRoom',
      ($0.CreateProjectRoomRequest value) => value.writeToBuffer(),
      $0.CreateProjectRoomResponse.fromBuffer);
  static final _$deleteProjectRoom = $grpc.ClientMethod<$0.DeleteProjectRoomRequest, $0.DeleteProjectRoomResponse>(
      '/api.MatrixProxyService/DeleteProjectRoom',
      ($0.DeleteProjectRoomRequest value) => value.writeToBuffer(),
      $0.DeleteProjectRoomResponse.fromBuffer);
  static final _$inviteUserToProjectRoom = $grpc.ClientMethod<$0.InviteUserToProjectRoomRequest, $0.InviteUserToProjectRoomResponse>(
      '/api.MatrixProxyService/InviteUserToProjectRoom',
      ($0.InviteUserToProjectRoomRequest value) => value.writeToBuffer(),
      $0.InviteUserToProjectRoomResponse.fromBuffer);
  static final _$sendNoticeToProjectRoom = $grpc.ClientMethod<$0.SendNoticeToProjectRoomRequest, $0.SendNoticeToProjectRoomResponse>(
      '/api.MatrixProxyService/SendNoticeToProjectRoom',
      ($0.SendNoticeToProjectRoomRequest value) => value.writeToBuffer(),
      $0.SendNoticeToProjectRoomResponse.fromBuffer);
  static final _$deleteRoomsForProject = $grpc.ClientMethod<$0.DeleteRoomsForProjectRequest, $0.DeleteRoomsForProjectResponse>(
      '/api.MatrixProxyService/DeleteRoomsForProject',
      ($0.DeleteRoomsForProjectRequest value) => value.writeToBuffer(),
      $0.DeleteRoomsForProjectResponse.fromBuffer);
  static final _$sendMessageToProjectRoom = $grpc.ClientMethod<$0.SendMessageToProjectRoomRequest, $0.SendMessageToProjectRoomResponse>(
      '/api.MatrixProxyService/SendMessageToProjectRoom',
      ($0.SendMessageToProjectRoomRequest value) => value.writeToBuffer(),
      $0.SendMessageToProjectRoomResponse.fromBuffer);
}

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

  MatrixProxyServiceBase() {
    $addMethod($grpc.ServiceMethod<$0.CreateRoomRequest, $0.CreateRoomResponse>(
        'CreateRoom',
        createRoom_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.CreateRoomRequest.fromBuffer(value),
        ($0.CreateRoomResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.DeleteRoomRequest, $0.DeleteRoomResponse>(
        'DeleteRoom',
        deleteRoom_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.DeleteRoomRequest.fromBuffer(value),
        ($0.DeleteRoomResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.InviteUserToRoomRequest, $0.InviteUserToRoomResponse>(
        'InviteUserToRoom',
        inviteUserToRoom_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.InviteUserToRoomRequest.fromBuffer(value),
        ($0.InviteUserToRoomResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.SendNoticeToRoomRequest, $0.SendNoticeToRoomResponse>(
        'SendNoticeToRoom',
        sendNoticeToRoom_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.SendNoticeToRoomRequest.fromBuffer(value),
        ($0.SendNoticeToRoomResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.CreateProjectRoomRequest, $0.CreateProjectRoomResponse>(
        'CreateProjectRoom',
        createProjectRoom_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.CreateProjectRoomRequest.fromBuffer(value),
        ($0.CreateProjectRoomResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.DeleteProjectRoomRequest, $0.DeleteProjectRoomResponse>(
        'DeleteProjectRoom',
        deleteProjectRoom_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.DeleteProjectRoomRequest.fromBuffer(value),
        ($0.DeleteProjectRoomResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.InviteUserToProjectRoomRequest, $0.InviteUserToProjectRoomResponse>(
        'InviteUserToProjectRoom',
        inviteUserToProjectRoom_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.InviteUserToProjectRoomRequest.fromBuffer(value),
        ($0.InviteUserToProjectRoomResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.SendNoticeToProjectRoomRequest, $0.SendNoticeToProjectRoomResponse>(
        'SendNoticeToProjectRoom',
        sendNoticeToProjectRoom_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.SendNoticeToProjectRoomRequest.fromBuffer(value),
        ($0.SendNoticeToProjectRoomResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.DeleteRoomsForProjectRequest, $0.DeleteRoomsForProjectResponse>(
        'DeleteRoomsForProject',
        deleteRoomsForProject_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.DeleteRoomsForProjectRequest.fromBuffer(value),
        ($0.DeleteRoomsForProjectResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.SendMessageToProjectRoomRequest, $0.SendMessageToProjectRoomResponse>(
        'SendMessageToProjectRoom',
        sendMessageToProjectRoom_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.SendMessageToProjectRoomRequest.fromBuffer(value),
        ($0.SendMessageToProjectRoomResponse value) => value.writeToBuffer()));
  }

  $async.Future<$0.CreateRoomResponse> createRoom_Pre($grpc.ServiceCall $call, $async.Future<$0.CreateRoomRequest> $request) async {
    return createRoom($call, await $request);
  }

  $async.Future<$0.CreateRoomResponse> createRoom($grpc.ServiceCall call, $0.CreateRoomRequest request);

  $async.Future<$0.DeleteRoomResponse> deleteRoom_Pre($grpc.ServiceCall $call, $async.Future<$0.DeleteRoomRequest> $request) async {
    return deleteRoom($call, await $request);
  }

  $async.Future<$0.DeleteRoomResponse> deleteRoom($grpc.ServiceCall call, $0.DeleteRoomRequest request);

  $async.Future<$0.InviteUserToRoomResponse> inviteUserToRoom_Pre($grpc.ServiceCall $call, $async.Future<$0.InviteUserToRoomRequest> $request) async {
    return inviteUserToRoom($call, await $request);
  }

  $async.Future<$0.InviteUserToRoomResponse> inviteUserToRoom($grpc.ServiceCall call, $0.InviteUserToRoomRequest request);

  $async.Future<$0.SendNoticeToRoomResponse> sendNoticeToRoom_Pre($grpc.ServiceCall $call, $async.Future<$0.SendNoticeToRoomRequest> $request) async {
    return sendNoticeToRoom($call, await $request);
  }

  $async.Future<$0.SendNoticeToRoomResponse> sendNoticeToRoom($grpc.ServiceCall call, $0.SendNoticeToRoomRequest request);

  $async.Future<$0.CreateProjectRoomResponse> createProjectRoom_Pre($grpc.ServiceCall $call, $async.Future<$0.CreateProjectRoomRequest> $request) async {
    return createProjectRoom($call, await $request);
  }

  $async.Future<$0.CreateProjectRoomResponse> createProjectRoom($grpc.ServiceCall call, $0.CreateProjectRoomRequest request);

  $async.Future<$0.DeleteProjectRoomResponse> deleteProjectRoom_Pre($grpc.ServiceCall $call, $async.Future<$0.DeleteProjectRoomRequest> $request) async {
    return deleteProjectRoom($call, await $request);
  }

  $async.Future<$0.DeleteProjectRoomResponse> deleteProjectRoom($grpc.ServiceCall call, $0.DeleteProjectRoomRequest request);

  $async.Future<$0.InviteUserToProjectRoomResponse> inviteUserToProjectRoom_Pre($grpc.ServiceCall $call, $async.Future<$0.InviteUserToProjectRoomRequest> $request) async {
    return inviteUserToProjectRoom($call, await $request);
  }

  $async.Future<$0.InviteUserToProjectRoomResponse> inviteUserToProjectRoom($grpc.ServiceCall call, $0.InviteUserToProjectRoomRequest request);

  $async.Future<$0.SendNoticeToProjectRoomResponse> sendNoticeToProjectRoom_Pre($grpc.ServiceCall $call, $async.Future<$0.SendNoticeToProjectRoomRequest> $request) async {
    return sendNoticeToProjectRoom($call, await $request);
  }

  $async.Future<$0.SendNoticeToProjectRoomResponse> sendNoticeToProjectRoom($grpc.ServiceCall call, $0.SendNoticeToProjectRoomRequest request);

  $async.Future<$0.DeleteRoomsForProjectResponse> deleteRoomsForProject_Pre($grpc.ServiceCall $call, $async.Future<$0.DeleteRoomsForProjectRequest> $request) async {
    return deleteRoomsForProject($call, await $request);
  }

  $async.Future<$0.DeleteRoomsForProjectResponse> deleteRoomsForProject($grpc.ServiceCall call, $0.DeleteRoomsForProjectRequest request);

  $async.Future<$0.SendMessageToProjectRoomResponse> sendMessageToProjectRoom_Pre($grpc.ServiceCall $call, $async.Future<$0.SendMessageToProjectRoomRequest> $request) async {
    return sendMessageToProjectRoom($call, await $request);
  }

  $async.Future<$0.SendMessageToProjectRoomResponse> sendMessageToProjectRoom($grpc.ServiceCall call, $0.SendMessageToProjectRoomRequest request);

}
