// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "matrix-proxy.proto" (package "api", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import { MatrixProxyService } from "./matrix-proxy";
import type { SendMessageToProjectRoomResponse } from "./matrix-proxy";
import type { SendMessageToProjectRoomRequest } from "./matrix-proxy";
import type { DeleteRoomsForProjectResponse } from "./matrix-proxy";
import type { DeleteRoomsForProjectRequest } from "./matrix-proxy";
import type { SendNoticeToProjectRoomResponse } from "./matrix-proxy";
import type { SendNoticeToProjectRoomRequest } from "./matrix-proxy";
import type { InviteUserToProjectRoomResponse } from "./matrix-proxy";
import type { InviteUserToProjectRoomRequest } from "./matrix-proxy";
import type { DeleteProjectRoomResponse } from "./matrix-proxy";
import type { DeleteProjectRoomRequest } from "./matrix-proxy";
import type { CreateProjectRoomResponse } from "./matrix-proxy";
import type { CreateProjectRoomRequest } from "./matrix-proxy";
import type { SendNoticeToRoomResponse } from "./matrix-proxy";
import type { SendNoticeToRoomRequest } from "./matrix-proxy";
import type { InviteUserToRoomResponse } from "./matrix-proxy";
import type { InviteUserToRoomRequest } from "./matrix-proxy";
import type { DeleteRoomResponse } from "./matrix-proxy";
import type { DeleteRoomRequest } from "./matrix-proxy";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
import type { CreateRoomResponse } from "./matrix-proxy";
import type { CreateRoomRequest } from "./matrix-proxy";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 * @generated from protobuf service api.MatrixProxyService
 */
export interface IMatrixProxyServiceClient {
    /**
     * @generated from protobuf rpc: CreateRoom(api.CreateRoomRequest) returns (api.CreateRoomResponse);
     */
    createRoom(input: CreateRoomRequest, options?: RpcOptions): UnaryCall<CreateRoomRequest, CreateRoomResponse>;
    /**
     * @generated from protobuf rpc: DeleteRoom(api.DeleteRoomRequest) returns (api.DeleteRoomResponse);
     */
    deleteRoom(input: DeleteRoomRequest, options?: RpcOptions): UnaryCall<DeleteRoomRequest, DeleteRoomResponse>;
    /**
     * @generated from protobuf rpc: InviteUserToRoom(api.InviteUserToRoomRequest) returns (api.InviteUserToRoomResponse);
     */
    inviteUserToRoom(input: InviteUserToRoomRequest, options?: RpcOptions): UnaryCall<InviteUserToRoomRequest, InviteUserToRoomResponse>;
    /**
     * @generated from protobuf rpc: SendNoticeToRoom(api.SendNoticeToRoomRequest) returns (api.SendNoticeToRoomResponse);
     */
    sendNoticeToRoom(input: SendNoticeToRoomRequest, options?: RpcOptions): UnaryCall<SendNoticeToRoomRequest, SendNoticeToRoomResponse>;
    /**
     * @generated from protobuf rpc: CreateProjectRoom(api.CreateProjectRoomRequest) returns (api.CreateProjectRoomResponse);
     */
    createProjectRoom(input: CreateProjectRoomRequest, options?: RpcOptions): UnaryCall<CreateProjectRoomRequest, CreateProjectRoomResponse>;
    /**
     * @generated from protobuf rpc: DeleteProjectRoom(api.DeleteProjectRoomRequest) returns (api.DeleteProjectRoomResponse);
     */
    deleteProjectRoom(input: DeleteProjectRoomRequest, options?: RpcOptions): UnaryCall<DeleteProjectRoomRequest, DeleteProjectRoomResponse>;
    /**
     * @generated from protobuf rpc: InviteUserToProjectRoom(api.InviteUserToProjectRoomRequest) returns (api.InviteUserToProjectRoomResponse);
     */
    inviteUserToProjectRoom(input: InviteUserToProjectRoomRequest, options?: RpcOptions): UnaryCall<InviteUserToProjectRoomRequest, InviteUserToProjectRoomResponse>;
    /**
     * @generated from protobuf rpc: SendNoticeToProjectRoom(api.SendNoticeToProjectRoomRequest) returns (api.SendNoticeToProjectRoomResponse);
     */
    sendNoticeToProjectRoom(input: SendNoticeToProjectRoomRequest, options?: RpcOptions): UnaryCall<SendNoticeToProjectRoomRequest, SendNoticeToProjectRoomResponse>;
    /**
     * @generated from protobuf rpc: DeleteRoomsForProject(api.DeleteRoomsForProjectRequest) returns (api.DeleteRoomsForProjectResponse);
     */
    deleteRoomsForProject(input: DeleteRoomsForProjectRequest, options?: RpcOptions): UnaryCall<DeleteRoomsForProjectRequest, DeleteRoomsForProjectResponse>;
    /**
     * @generated from protobuf rpc: SendMessageToProjectRoom(api.SendMessageToProjectRoomRequest) returns (api.SendMessageToProjectRoomResponse);
     */
    sendMessageToProjectRoom(input: SendMessageToProjectRoomRequest, options?: RpcOptions): UnaryCall<SendMessageToProjectRoomRequest, SendMessageToProjectRoomResponse>;
}
/**
 * @generated from protobuf service api.MatrixProxyService
 */
export class MatrixProxyServiceClient implements IMatrixProxyServiceClient, ServiceInfo {
    typeName = MatrixProxyService.typeName;
    methods = MatrixProxyService.methods;
    options = MatrixProxyService.options;
    constructor(private readonly _transport: RpcTransport) {
    }
    /**
     * @generated from protobuf rpc: CreateRoom(api.CreateRoomRequest) returns (api.CreateRoomResponse);
     */
    createRoom(input: CreateRoomRequest, options?: RpcOptions): UnaryCall<CreateRoomRequest, CreateRoomResponse> {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept<CreateRoomRequest, CreateRoomResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: DeleteRoom(api.DeleteRoomRequest) returns (api.DeleteRoomResponse);
     */
    deleteRoom(input: DeleteRoomRequest, options?: RpcOptions): UnaryCall<DeleteRoomRequest, DeleteRoomResponse> {
        const method = this.methods[1], opt = this._transport.mergeOptions(options);
        return stackIntercept<DeleteRoomRequest, DeleteRoomResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: InviteUserToRoom(api.InviteUserToRoomRequest) returns (api.InviteUserToRoomResponse);
     */
    inviteUserToRoom(input: InviteUserToRoomRequest, options?: RpcOptions): UnaryCall<InviteUserToRoomRequest, InviteUserToRoomResponse> {
        const method = this.methods[2], opt = this._transport.mergeOptions(options);
        return stackIntercept<InviteUserToRoomRequest, InviteUserToRoomResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: SendNoticeToRoom(api.SendNoticeToRoomRequest) returns (api.SendNoticeToRoomResponse);
     */
    sendNoticeToRoom(input: SendNoticeToRoomRequest, options?: RpcOptions): UnaryCall<SendNoticeToRoomRequest, SendNoticeToRoomResponse> {
        const method = this.methods[3], opt = this._transport.mergeOptions(options);
        return stackIntercept<SendNoticeToRoomRequest, SendNoticeToRoomResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: CreateProjectRoom(api.CreateProjectRoomRequest) returns (api.CreateProjectRoomResponse);
     */
    createProjectRoom(input: CreateProjectRoomRequest, options?: RpcOptions): UnaryCall<CreateProjectRoomRequest, CreateProjectRoomResponse> {
        const method = this.methods[4], opt = this._transport.mergeOptions(options);
        return stackIntercept<CreateProjectRoomRequest, CreateProjectRoomResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: DeleteProjectRoom(api.DeleteProjectRoomRequest) returns (api.DeleteProjectRoomResponse);
     */
    deleteProjectRoom(input: DeleteProjectRoomRequest, options?: RpcOptions): UnaryCall<DeleteProjectRoomRequest, DeleteProjectRoomResponse> {
        const method = this.methods[5], opt = this._transport.mergeOptions(options);
        return stackIntercept<DeleteProjectRoomRequest, DeleteProjectRoomResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: InviteUserToProjectRoom(api.InviteUserToProjectRoomRequest) returns (api.InviteUserToProjectRoomResponse);
     */
    inviteUserToProjectRoom(input: InviteUserToProjectRoomRequest, options?: RpcOptions): UnaryCall<InviteUserToProjectRoomRequest, InviteUserToProjectRoomResponse> {
        const method = this.methods[6], opt = this._transport.mergeOptions(options);
        return stackIntercept<InviteUserToProjectRoomRequest, InviteUserToProjectRoomResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: SendNoticeToProjectRoom(api.SendNoticeToProjectRoomRequest) returns (api.SendNoticeToProjectRoomResponse);
     */
    sendNoticeToProjectRoom(input: SendNoticeToProjectRoomRequest, options?: RpcOptions): UnaryCall<SendNoticeToProjectRoomRequest, SendNoticeToProjectRoomResponse> {
        const method = this.methods[7], opt = this._transport.mergeOptions(options);
        return stackIntercept<SendNoticeToProjectRoomRequest, SendNoticeToProjectRoomResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: DeleteRoomsForProject(api.DeleteRoomsForProjectRequest) returns (api.DeleteRoomsForProjectResponse);
     */
    deleteRoomsForProject(input: DeleteRoomsForProjectRequest, options?: RpcOptions): UnaryCall<DeleteRoomsForProjectRequest, DeleteRoomsForProjectResponse> {
        const method = this.methods[8], opt = this._transport.mergeOptions(options);
        return stackIntercept<DeleteRoomsForProjectRequest, DeleteRoomsForProjectResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: SendMessageToProjectRoom(api.SendMessageToProjectRoomRequest) returns (api.SendMessageToProjectRoomResponse);
     */
    sendMessageToProjectRoom(input: SendMessageToProjectRoomRequest, options?: RpcOptions): UnaryCall<SendMessageToProjectRoomRequest, SendMessageToProjectRoomResponse> {
        const method = this.methods[9], opt = this._transport.mergeOptions(options);
        return stackIntercept<SendMessageToProjectRoomRequest, SendMessageToProjectRoomResponse>("unary", this._transport, method, opt, input);
    }
}
