/** * Notification Preferences — gateway-side storage for push suppression. * * The app syncs notification preferences here via RPC. The push hook * checks these prefs before sending to the relay — if a category is * muted, the push never leaves the user's machine. * * RPC methods: * aight.notif.setPrefs — update preferences * aight.notif.getPrefs — read current preferences */ import type { OpenClawPluginApi } from "openclaw/plugin-sdk"; export interface NotifPrefs { globalMute: boolean; muteUntil: string | null; agentReplies: boolean; groupChat: boolean; cron: boolean; } export declare function loadNotifPrefs(): NotifPrefs; export declare function classifySessionKey(sessionKey: string): "agentReplies" | "groupChat" | "cron"; /** * Check if a push for this sessionKey should be sent. */ export declare function shouldSendPush(sessionKey: string): boolean; export declare function registerNotifPrefsRPC(api: OpenClawPluginApi): void;