export const notificationTypes = ['note', 'follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'pollEnded', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'app'] as const; export const noteVisibilities = ['public', 'home', 'followers', 'specified'] as const; export const mutedNoteReasons = ['word', 'manual', 'spam', 'other'] as const; export const ffVisibility = ['public', 'followers', 'private'] as const; export const permissions = [ 'read:account', 'write:account', 'read:blocks', 'write:blocks', 'read:drive', 'write:drive', 'read:favorites', 'write:favorites', 'read:following', 'write:following', 'read:messaging', 'write:messaging', 'read:mutes', 'write:mutes', 'write:notes', 'read:notifications', 'write:notifications', 'read:reactions', 'write:reactions', 'write:votes', 'read:pages', 'write:pages', 'write:page-likes', 'read:page-likes', 'read:user-groups', 'write:user-groups', 'read:channels', 'write:channels', 'read:gallery', 'write:gallery', 'read:gallery-likes', 'write:gallery-likes', 'read:flash', 'write:flash', 'read:flash-likes', 'write:flash-likes', ]; export const moderationLogTypes = [ 'updateServerSettings', 'suspend', 'unsuspend', 'updateUserNote', 'addCustomEmoji', 'updateCustomEmoji', 'deleteCustomEmoji', 'assignRole', 'unassignRole', 'createRole', 'updateRole', 'deleteRole', 'clearQueue', 'promoteQueue', 'deleteDriveFile', 'deleteNote', 'createGlobalAnnouncement', 'createUserAnnouncement', 'updateGlobalAnnouncement', 'updateUserAnnouncement', 'deleteGlobalAnnouncement', 'deleteUserAnnouncement', 'resetPassword', 'suspendRemoteInstance', 'unsuspendRemoteInstance', 'markSensitiveDriveFile', 'unmarkSensitiveDriveFile', 'resolveAbuseReport', 'createInvitation', ] as const; export type ModerationLogPayloads = { updateServerSettings: { before: any | null; after: any | null; }; suspend: { userId: string; userUsername: string; userHost: string | null; }; unsuspend: { userId: string; userUsername: string; userHost: string | null; }; updateUserNote: { userId: string; userUsername: string; userHost: string | null; before: string | null; after: string | null; }; addCustomEmoji: { emojiId: string; emoji: any; }; updateCustomEmoji: { emojiId: string; before: any; after: any; }; deleteCustomEmoji: { emojiId: string; emoji: any; }; assignRole: { userId: string; userUsername: string; userHost: string | null; roleId: string; roleName: string; expiresAt: string | null; }; unassignRole: { userId: string; userUsername: string; userHost: string | null; roleId: string; roleName: string; }; createRole: { roleId: string; role: any; }; updateRole: { roleId: string; before: any; after: any; }; deleteRole: { roleId: string; role: any; }; clearQueue: Record; promoteQueue: Record; deleteDriveFile: { fileId: string; fileUserId: string | null; fileUserUsername: string | null; fileUserHost: string | null; }; deleteNote: { noteId: string; noteUserId: string; noteUserUsername: string; noteUserHost: string | null; note: any; }; createGlobalAnnouncement: { announcementId: string; announcement: any; }; createUserAnnouncement: { announcementId: string; announcement: any; userId: string; userUsername: string; userHost: string | null; }; updateGlobalAnnouncement: { announcementId: string; before: any; after: any; }; updateUserAnnouncement: { announcementId: string; before: any; after: any; userId: string; userUsername: string; userHost: string | null; }; deleteGlobalAnnouncement: { announcementId: string; announcement: any; }; deleteUserAnnouncement: { announcementId: string; announcement: any; }; resetPassword: { userId: string; userUsername: string; userHost: string | null; }; suspendRemoteInstance: { id: string; host: string; }; unsuspendRemoteInstance: { id: string; host: string; }; markSensitiveDriveFile: { fileId: string; fileUserId: string | null; fileUserUsername: string | null; fileUserHost: string | null; }; unmarkSensitiveDriveFile: { fileId: string; fileUserId: string | null; fileUserUsername: string | null; fileUserHost: string | null; }; resolveAbuseReport: { reportId: string; report: any; forwarded: boolean; }; createInvitation: { invitations: any[]; }; };