matrix-js-sdk
Version:
Matrix Client-Server SDK for Javascript
59 lines • 2.01 kB
TypeScript
/**
* A stripped m.room.member event which contains the key renderable fields from the event,
* sent only in simplified sliding sync (not `/v3/sync`).
* This is very similar to MSC4186Hero from sliding-sync.ts but an internal format with
* camelCase rather than underscores.
*/
export type Hero = {
userId: string;
displayName?: string;
avatarUrl?: string;
/**
* If true, the hero is from an MSC4186 summary, in which case `displayName` and `avatarUrl` will
* have been set by the server if available. If false, the `Hero` has been constructed from a `/v3/sync` response,
* so these fields will always be undefined.
*/
fromMSC4186: boolean;
};
/**
* High level summary information for a room, as returned by `/v3/sync`.
*/
export interface IRoomSummary {
/**
* The room heroes: a selected set of members that can be used when summarising or
* generating a name for a room. List of user IDs.
*/
"m.heroes": string[];
/**
* The number of joined members in the room.
*/
"m.joined_member_count"?: number;
/**
* The number of invited members in the room.
*/
"m.invited_member_count"?: number;
}
interface IInfo {
/** The title of the room (e.g. `m.room.name`) */
title: string;
/** The description of the room (e.g. `m.room.topic`) */
desc?: string;
/** The number of joined users. */
numMembers?: number;
/** The list of aliases for this room. */
aliases?: string[];
/** The timestamp for this room. */
timestamp?: number;
}
/**
* Construct a new Room Summary. A summary can be used for display on a recent
* list, without having to load the entire room list into memory.
* @param roomId - Required. The ID of this room.
* @param info - Optional. The summary info. Additional keys are supported.
*/
export declare class RoomSummary {
readonly roomId: string;
constructor(roomId: string, info?: IInfo);
}
export {};
//# sourceMappingURL=room-summary.d.ts.map