export type CatalogChannelId = "in_app" | "email" | "push" | "webhook"; export type CatalogTopicId = "security.login" | "security.session" | "security.passkey" | "security.password" | "organization.invitation" | "organization.membership" | "billing.invoice" | "billing.payment" | "billing.subscription" | "system.maintenance"; export type PreferenceUpdateInput = { channel: CatalogChannelId; digest?: "daily" | "weekly" | null; enabled: boolean; topic: CatalogTopicId; }; export type WorkspaceFeatureTogglesMapping = { inboxDigest: boolean; notifyCriticalOnly: boolean; realtimeAuditAlerts: boolean; weeklySecurityDigest: boolean; }; /** * Map CURRENT WorkspaceFeatureToggles into catalog topic/channel/digest updates. * The boolean bag is not preference authority. */ export declare function mapWorkspaceFeatureTogglesToPreferenceUpdates(toggles: WorkspaceFeatureTogglesMapping): PreferenceUpdateInput[]; /** * Old UI ids (security / invitations / digest / product) → catalog topics. * `product` has no catalog topic this slice and is dropped. */ export declare function mapLegacyNotificationPreferenceId(id: string, enabled: boolean): PreferenceUpdateInput[];