export interface Activity { actor: string; type: string; id: string; } export interface Object { type: string; id: string; } export interface ArticleObject extends Object { to: string[]; cc: string[]; } export interface CreateActivity extends Activity { to: string[]; cc: string[]; object: Object; } export interface FollowActivity extends Activity { object: string; } export interface AcceptActivity extends Activity { object: FollowActivity; } export interface UndoActivity extends Activity { object: Activity; } export interface NoteObject extends Object { to: string[]; cc: string[]; directMessage?: boolean; attributedTo: string; content: string; published: string; inReplyTo: string; conversation: string; } export interface DeleteActivity extends Activity { object: string; } export interface ActorObject { id: string; url: string; name: string; preferredUsername: string; inbox: string; endpoints?: { sharedInbox?: string; } publicKey?: { publicKeyPem?: string; }; icon: string | object | (string | object)[]; }