matrix-react-sdk
Version:
SDK for matrix.org using React
47 lines (46 loc) • 1.74 kB
TypeScript
import { MatrixEvent, Room, SyncState, SyncStateData, TypedEventEmitter } from "matrix-js-sdk/src/matrix";
export declare const enum NotifierEvent {
NotificationHiddenChange = "notification_hidden_change"
}
interface EmittedEvents {
[NotifierEvent.NotificationHiddenChange]: (hidden: boolean) => void;
}
declare class NotifierClass extends TypedEventEmitter<keyof EmittedEvents, EmittedEvents> {
private notifsByRoom;
private pendingEncryptedEventIds;
private toolbarHidden?;
private isSyncing?;
private backgroundAudio;
notificationMessageForEvent(ev: MatrixEvent): string | null;
displayPopupNotification(ev: MatrixEvent, room: Room): void;
getSoundForRoom(roomId: string): {
url: string;
name: string;
type: string;
size: string;
} | null;
playAudioNotification(ev: MatrixEvent, room: Room): Promise<void>;
start(): void;
stop(): void;
supportsDesktopNotifications(): boolean;
setEnabled(enable: boolean, callback?: () => void): void;
isEnabled(): boolean;
isPossible(): boolean;
isBodyEnabled(): boolean;
isAudioEnabled(): boolean;
setPromptHidden(hidden: boolean, persistent?: boolean): void;
shouldShowPrompt(): boolean;
private isPromptHidden;
onSyncStateChange: (state: SyncState, prevState: SyncState | null, data?: SyncStateData) => void;
private onEvent;
private onEventDecrypted;
private onRoomReceipt;
evaluateEvent(ev: MatrixEvent): void;
/**
* Some events require special handling such as showing in-app toasts
*/
private performCustomEventHandling;
}
declare const _default: NotifierClass;
export default _default;
export declare const Notifier: NotifierClass;