export declare enum FastCommentsAPINotificationObjectType { Comment = 0, Profile = 1, Tenant = 2 } export declare enum FastCommentsAPINotificationType { /** If someone replied to you. **/ RepliedToMe = 0, /** If someone replied anywhere in a thread (even children of children) of a thread you commented on. **/ RepliedTransientChild = 1, /** If your comment was up-voted. **/ VotedMyComment = 2, /** If a new comment is left on the root of a page you're subscribed to. **/ SubscriptionReplyRoot = 3, /** If someone commented on your profile. **/ CommentedOnProfile = 4, /** If you have a DM. **/ DirectMessage = 5, /** TrialLimits is for tenant users only. **/ TrialLimits = 6, /** If you were @mentioned. **/ Mentioned = 7 } export interface FastCommentsAPINotification { id: string; tenantId: string; /** With SSO, the user id is in the format `:`. **/ userId?: string; /** When working with SSO, you only have to worry about `userId`. **/ anonUserId?: string; /** urlId is almost always defined. It is only optional for tenant-level notifications, which are infrequent. **/ urlId?: string; /** URL is cached for quick navigation to the source of the notification. **/ url?: string; /** Page Title is cached for quick reading of notification source. **/ pageTitle?: string; relatedObjectType: FastCommentsAPINotificationObjectType; /** For example, comment id. **/ relatedObjectId: string; viewed: boolean; createdAt: string; type: FastCommentsAPINotificationType; fromCommentId?: string; fromVoteId?: string; /** fromUserName and fromUserAvatarSrc are cached here for quick displaying of the notification. They are updated when the user is updated. **/ fromUserName: string; fromUserId: string; fromUserAvatarSrc?: string; /** Set this to true to stop getting notifications for this object. **/ optedOut?: boolean; } export interface FastCommentsAPINotificationUpdate { viewed?: boolean; optedOut?: boolean; }