matrix-react-sdk
Version:
SDK for matrix.org using React
34 lines (33 loc) • 1.76 kB
TypeScript
import { NotificationCountType } from "matrix-js-sdk/src/matrix";
import type { IPushRule, Room, MatrixClient } from "matrix-js-sdk/src/matrix";
import { NotificationLevel } from "./stores/notifications/NotificationLevel";
export declare enum RoomNotifState {
AllMessagesLoud = "all_messages_loud",
AllMessages = "all_messages",
MentionsOnly = "mentions_only",
Mute = "mute"
}
export declare function getRoomNotifsState(client: MatrixClient, roomId: string): RoomNotifState | null;
export declare function setRoomNotifsState(client: MatrixClient, roomId: string, newState: RoomNotifState): Promise<void>;
export declare function getUnreadNotificationCount(room: Room, type: NotificationCountType, includeThreads: boolean, threadId?: string): number;
/**
* Checks if a given rule is a room mute rule as implemented by EW
* - matches every event in one room (one condition that is an event match on roomId)
* - silences notifications (one action that is `DontNotify`)
* @param rule - push rule
* @returns {boolean} - true when rule mutes a room
*/
export declare function isRuleMaybeRoomMuteRule(rule: IPushRule): boolean;
/**
* Returns an object giving information about the unread state of a room or thread
* @param room The room to query, or the room the thread is in
* @param threadId The thread to check the unread state of, or undefined to query the main thread
* @param includeThreads If threadId is undefined, true to include threads other than the main thread, or
* false to exclude them. Ignored if threadId is specified.
* @returns
*/
export declare function determineUnreadState(room?: Room, threadId?: string, includeThreads?: boolean): {
level: NotificationLevel;
symbol: string | null;
count: number;
};