+ object: VideoObject | ActivityPubActor | CacheFileObject | PlaylistObject
+}
+
+export interface ActivityDelete extends BaseActivity {
+ type: 'Delete'
+ object: string | { id: string }
+}
+
+export interface ActivityFollow extends BaseActivity {
+ type: 'Follow'
+ object: string
+}
+
+export interface ActivityAccept extends BaseActivity {
+ type: 'Accept'
+ object: ActivityFollow
+}
+
+export interface ActivityReject extends BaseActivity {
+ type: 'Reject'
+ object: ActivityFollow
+}
+
+export interface ActivityAnnounce extends BaseActivity {
+ type: 'Announce'
+ object: APObject
+}
+
+export interface ActivityUndo extends BaseActivity {
+ type: 'Undo'
+ object: ActivityFollow | ActivityLike | ActivityDislike | ActivityCreate | ActivityAnnounce
+}
+
+export interface ActivityLike extends BaseActivity {
+ type: 'Like'
+ object: APObject
+}
+
+export interface ActivityView extends BaseActivity {
+ type: 'View'
+ actor: string
+ object: APObject
+
+ // If sending a "viewer" event
+ expires?: string
+}
+
+export interface ActivityDislike extends BaseActivity {
+ id: string
+ type: 'Dislike'
+ actor: string
+ object: APObject