1 import { ActivityPubActor } from './activitypub-actor'
2 import { ActivityPubSignature } from './activitypub-signature'
3 import { ActivityFlagReasonObject, CacheFileObject, VideoObject, WatchActionObject } from './objects'
4 import { AbuseObject } from './objects/abuse-object'
5 import { DislikeObject } from './objects/dislike-object'
6 import { APObject } from './objects/object.model'
7 import { PlaylistObject } from './objects/playlist-object'
8 import { VideoCommentObject } from './objects/video-comment-object'
10 export type Activity =
24 export type ActivityType =
38 export interface ActivityAudience {
43 export interface BaseActivity {
48 actor: string | ActivityPubActor
50 signature?: ActivityPubSignature
53 export interface ActivityCreate extends BaseActivity {
55 object: VideoObject | AbuseObject | DislikeObject | VideoCommentObject | CacheFileObject | PlaylistObject | WatchActionObject
58 export interface ActivityUpdate extends BaseActivity {
60 object: VideoObject | ActivityPubActor | CacheFileObject | PlaylistObject
63 export interface ActivityDelete extends BaseActivity {
65 object: string | { id: string }
68 export interface ActivityFollow extends BaseActivity {
73 export interface ActivityAccept extends BaseActivity {
75 object: ActivityFollow
78 export interface ActivityReject extends BaseActivity {
80 object: ActivityFollow
83 export interface ActivityAnnounce extends BaseActivity {
88 export interface ActivityUndo extends BaseActivity {
90 object: ActivityFollow | ActivityLike | ActivityDislike | ActivityCreate | ActivityAnnounce
93 export interface ActivityLike extends BaseActivity {
98 export interface ActivityView extends BaseActivity {
103 // If sending a "viewer" event
107 export interface ActivityDislike extends BaseActivity {
114 export interface ActivityFlag extends BaseActivity {
117 object: APObject | APObject[]
118 tag?: ActivityFlagReasonObject[]