/// <reference types="react" />
import { MatrixClient, Room } from "matrix-js-sdk/src/matrix";
import { IndicatorIcon } from "@vector-im/compound-web";
import { NotificationLevel } from "../stores/notifications/NotificationLevel";
export declare const deviceNotificationSettingsKeys: string[];
export declare function getLocalNotificationAccountDataEventType(deviceId: string | null): string;
export declare function createLocalNotificationSettingsIfNeeded(cli: MatrixClient): Promise<void>;
export declare function localNotificationsAreSilenced(cli: MatrixClient): boolean;
/**
 * Mark a room as read
 * @param room
 * @param client
 * @returns a promise that resolves when the room has been marked as read
 */
export declare function clearRoomNotification(room: Room, client: MatrixClient): Promise<{} | undefined>;
/**
 * Marks all rooms with an unread counter as read
 * @param client The matrix client
 * @returns a promise that resolves when all rooms have been marked as read
 */
export declare function clearAllNotifications(client: MatrixClient): Promise<Array<{} | undefined>>;
/**
 * A helper to transform a notification color to the what the Compound Icon Button
 * expects
 */
export declare function notificationLevelToIndicator(level: NotificationLevel): React.ComponentPropsWithRef<typeof IndicatorIcon>["indicator"];
/**
 * Return the thread notification level for a room
 * @param room
 * @returns {NotificationLevel}
 */
export declare function getThreadNotificationLevel(room: Room): NotificationLevel;
