diff options
Diffstat (limited to 'includes/external/matrix/node_modules/matrix-js-sdk/lib/models/room-member.d.ts')
-rw-r--r-- | includes/external/matrix/node_modules/matrix-js-sdk/lib/models/room-member.d.ts | 203 |
1 files changed, 203 insertions, 0 deletions
diff --git a/includes/external/matrix/node_modules/matrix-js-sdk/lib/models/room-member.d.ts b/includes/external/matrix/node_modules/matrix-js-sdk/lib/models/room-member.d.ts new file mode 100644 index 0000000..cfbd4c7 --- /dev/null +++ b/includes/external/matrix/node_modules/matrix-js-sdk/lib/models/room-member.d.ts @@ -0,0 +1,203 @@ +import { User } from "./user"; +import { MatrixEvent } from "./event"; +import { RoomState } from "./room-state"; +import { TypedEventEmitter } from "./typed-event-emitter"; +export declare enum RoomMemberEvent { + Membership = "RoomMember.membership", + Name = "RoomMember.name", + PowerLevel = "RoomMember.powerLevel", + Typing = "RoomMember.typing" +} +export type RoomMemberEventHandlerMap = { + /** + * Fires whenever any room member's membership state changes. + * @param event - The matrix event which caused this event to fire. + * @param member - The member whose RoomMember.membership changed. + * @param oldMembership - The previous membership state. Null if it's a new member. + * @example + * ``` + * matrixClient.on("RoomMember.membership", function(event, member, oldMembership){ + * var newState = member.membership; + * }); + * ``` + */ + [RoomMemberEvent.Membership]: (event: MatrixEvent, member: RoomMember, oldMembership?: string) => void; + /** + * Fires whenever any room member's name changes. + * @param event - The matrix event which caused this event to fire. + * @param member - The member whose RoomMember.name changed. + * @param oldName - The previous name. Null if the member didn't have a name previously. + * @example + * ``` + * matrixClient.on("RoomMember.name", function(event, member){ + * var newName = member.name; + * }); + * ``` + */ + [RoomMemberEvent.Name]: (event: MatrixEvent, member: RoomMember, oldName: string | null) => void; + /** + * Fires whenever any room member's power level changes. + * @param event - The matrix event which caused this event to fire. + * @param member - The member whose RoomMember.powerLevel changed. + * @example + * ``` + * matrixClient.on("RoomMember.powerLevel", function(event, member){ + * var newPowerLevel = member.powerLevel; + * var newNormPowerLevel = member.powerLevelNorm; + * }); + * ``` + */ + [RoomMemberEvent.PowerLevel]: (event: MatrixEvent, member: RoomMember) => void; + /** + * Fires whenever any room member's typing state changes. + * @param event - The matrix event which caused this event to fire. + * @param member - The member whose RoomMember.typing changed. + * @example + * ``` + * matrixClient.on("RoomMember.typing", function(event, member){ + * var isTyping = member.typing; + * }); + * ``` + */ + [RoomMemberEvent.Typing]: (event: MatrixEvent, member: RoomMember) => void; +}; +export declare class RoomMember extends TypedEventEmitter<RoomMemberEvent, RoomMemberEventHandlerMap> { + readonly roomId: string; + readonly userId: string; + private _isOutOfBand; + private modified; + requestedProfileInfo: boolean; + /** + * True if the room member is currently typing. + */ + typing: boolean; + /** + * The human-readable name for this room member. This will be + * disambiguated with a suffix of " (\@user_id:matrix.org)" if another member shares the + * same displayname. + */ + name: string; + /** + * The ambiguous displayname of this room member. + */ + rawDisplayName: string; + /** + * The power level for this room member. + */ + powerLevel: number; + /** + * The normalised power level (0-100) for this room member. + */ + powerLevelNorm: number; + /** + * The User object for this room member, if one exists. + */ + user?: User; + /** + * The membership state for this room member e.g. 'join'. + */ + membership?: string; + /** + * True if the member's name is disambiguated. + */ + disambiguate: boolean; + /** + * The events describing this RoomMember. + */ + events: { + /** + * The m.room.member event for this RoomMember. + */ + member?: MatrixEvent; + }; + /** + * Construct a new room member. + * + * @param roomId - The room ID of the member. + * @param userId - The user ID of the member. + */ + constructor(roomId: string, userId: string); + /** + * Mark the member as coming from a channel that is not sync + */ + markOutOfBand(): void; + /** + * @returns does the member come from a channel that is not sync? + * This is used to store the member seperately + * from the sync state so it available across browser sessions. + */ + isOutOfBand(): boolean; + /** + * Update this room member's membership event. May fire "RoomMember.name" if + * this event updates this member's name. + * @param event - The `m.room.member` event + * @param roomState - Optional. The room state to take into account + * when calculating (e.g. for disambiguating users with the same name). + * + * @remarks + * Fires {@link RoomMemberEvent.Name} + * Fires {@link RoomMemberEvent.Membership} + */ + setMembershipEvent(event: MatrixEvent, roomState?: RoomState): void; + /** + * Update this room member's power level event. May fire + * "RoomMember.powerLevel" if this event updates this member's power levels. + * @param powerLevelEvent - The `m.room.power_levels` event + * + * @remarks + * Fires {@link RoomMemberEvent.PowerLevel} + */ + setPowerLevelEvent(powerLevelEvent: MatrixEvent): void; + /** + * Update this room member's typing event. May fire "RoomMember.typing" if + * this event changes this member's typing state. + * @param event - The typing event + * + * @remarks + * Fires {@link RoomMemberEvent.Typing} + */ + setTypingEvent(event: MatrixEvent): void; + /** + * Update the last modified time to the current time. + */ + private updateModifiedTime; + /** + * Get the timestamp when this RoomMember was last updated. This timestamp is + * updated when properties on this RoomMember are updated. + * It is updated <i>before</i> firing events. + * @returns The timestamp + */ + getLastModifiedTime(): number; + isKicked(): boolean; + /** + * If this member was invited with the is_direct flag set, return + * the user that invited this member + * @returns user id of the inviter + */ + getDMInviter(): string | undefined; + /** + * Get the avatar URL for a room member. + * @param baseUrl - The base homeserver URL See + * {@link MatrixClient#getHomeserverUrl}. + * @param width - The desired width of the thumbnail. + * @param height - The desired height of the thumbnail. + * @param resizeMethod - The thumbnail resize method to use, either + * "crop" or "scale". + * @param allowDefault - (optional) Passing false causes this method to + * return null if the user has no avatar image. Otherwise, a default image URL + * will be returned. Default: true. (Deprecated) + * @param allowDirectLinks - (optional) If true, the avatar URL will be + * returned even if it is a direct hyperlink rather than a matrix content URL. + * If false, any non-matrix content URLs will be ignored. Setting this option to + * true will expose URLs that, if fetched, will leak information about the user + * to anyone who they share a room with. + * @returns the avatar URL or null. + */ + getAvatarUrl(baseUrl: string, width: number, height: number, resizeMethod: string, allowDefault: boolean | undefined, allowDirectLinks: boolean): string | null; + /** + * get the mxc avatar url, either from a state event, or from a lazily loaded member + * @returns the mxc avatar url + */ + getMxcAvatarUrl(): string | undefined; +} +//# sourceMappingURL=room-member.d.ts.map
\ No newline at end of file |