@pazznetwork/ngx-chat
Version:
[](https://travis-ci.com/pazznetwork/ngx-chat) [](https://coveralls.io/github/pazzn
55 lines (54 loc) • 2.64 kB
TypeScript
import { JID } from '@xmpp/jid';
import { Subject } from 'rxjs';
import { DateMessagesGroup } from '../../../../../core/message-store';
import { LogService } from '../../../../log.service';
import { Recipient } from '../../../../../core/recipient';
import { RoomMetadata } from './multi-user-chat.plugin';
import { RoomOccupant } from './room-occupant';
import { RoomMessage } from './room-message';
import { OccupantChange } from './occupant-change';
export declare class Room {
private readonly logService;
readonly recipientType = "room";
readonly roomJid: JID;
occupantJid: JID | undefined;
description: string;
subject: string;
avatar: string;
metadata: RoomMetadata;
private readonly messageStore;
private readonly roomOccupants;
private readonly onOccupantChangeSubject;
readonly onOccupantChange$: import("rxjs").Observable<OccupantChange>;
private readonly occupantsSubject;
readonly occupants$: import("rxjs").Observable<RoomOccupant[]>;
constructor(roomJid: JID, logService: LogService);
get nick(): string;
set nick(nick: string);
private _name;
get name(): string;
set name(name: string | undefined);
get jidBare(): JID;
get messages$(): Subject<RoomMessage>;
get messages(): RoomMessage[];
get dateMessagesGroups(): DateMessagesGroup<RoomMessage>[];
get oldestMessage(): RoomMessage;
get mostRecentMessage(): RoomMessage;
get mostRecentMessageReceived(): RoomMessage;
get mostRecentMessageSent(): RoomMessage;
addMessage(message: RoomMessage): void;
equalsBareJid(other: Recipient | JID): boolean;
hasOccupant(occupantJid: JID): boolean;
getOccupant(occupantJid: JID): RoomOccupant | undefined;
handleOccupantJoined(occupant: RoomOccupant, isCurrentUser: boolean): boolean;
handleOccupantLeft(occupant: RoomOccupant, isCurrentUser: boolean): boolean;
handleOccupantConnectionError(occupant: RoomOccupant, isCurrentUser: boolean): boolean;
handleOccupantKicked(occupant: RoomOccupant, isCurrentUser: boolean, actor?: string, reason?: string): boolean;
handleOccupantBanned(occupant: RoomOccupant, isCurrentUser: boolean, actor?: string, reason?: string): boolean;
handleOccupantLostMembership(occupant: RoomOccupant, isCurrentUser: boolean): boolean;
handleOccupantChangedNick(occupant: RoomOccupant, isCurrentUser: boolean, newNick: string): boolean;
handleOccupantModified(occupant: RoomOccupant, oldOccupant: RoomOccupant, isCurrentUser: boolean): boolean;
equals(other: Room | null | undefined): boolean;
private addOccupant;
private removeOccupant;
}