@natsuneko-laboratory/catalyst-sdk 0.7.2 → 1.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -34,11 +34,41 @@ interface EgeriaUserProfile {
34
34
  website: string;
35
35
  additionalWebsites: string[];
36
36
  }
37
+ /** The `profileEmoji` shown alongside a "standard" (unicode) emoji value. */
38
+ interface ProfileEmojiStandard {
39
+ type: "standard";
40
+ value: string;
41
+ imageUrl: string;
42
+ }
43
+ /** The `profileEmoji` shown when the user selected one of their custom reactions. */
44
+ interface ProfileEmojiCustom {
45
+ type: "custom";
46
+ id: string;
47
+ shortcode: string;
48
+ displayName: string;
49
+ imageUrl: string;
50
+ width: number;
51
+ height: number;
52
+ }
53
+ /** Discriminated union (on `type`) modeling the response's `profileEmoji` field. */
54
+ type ProfileEmoji = ProfileEmojiStandard | ProfileEmojiCustom;
55
+ /** Request-shaped `profileEmoji` variant for `PATCH /egeria/v1/me` (fewer fields than the response). */
56
+ interface ProfileEmojiStandardRequest {
57
+ type: "standard";
58
+ value: string;
59
+ }
60
+ /** Request-shaped `profileEmoji` variant referencing an existing custom reaction by id. */
61
+ interface ProfileEmojiCustomRequest {
62
+ type: "custom";
63
+ customReactionId: string;
64
+ }
65
+ type ProfileEmojiRequest = ProfileEmojiStandardRequest | ProfileEmojiCustomRequest;
37
66
  interface EgeriaUser {
38
67
  id: string;
39
68
  screenName: string;
40
69
  displayName: string;
41
- profile?: EgeriaUserProfile;
70
+ profile?: EgeriaUserProfile | null;
71
+ profileEmoji?: ProfileEmoji | null;
42
72
  }
43
73
  interface EgeriaUserWrapper {
44
74
  user: EgeriaUser;
@@ -50,11 +80,12 @@ interface EgeriaUpdateProfileRequest {
50
80
  screenName?: string;
51
81
  displayName?: string;
52
82
  profile?: EgeriaUserProfile;
83
+ profileEmoji?: ProfileEmojiRequest | null;
53
84
  }
54
85
 
55
86
  interface MediaMetadata {
56
- width?: number;
57
- height?: number;
87
+ width: number | null;
88
+ height: number | null;
58
89
  isSensitive: boolean;
59
90
  isSpoiler: boolean;
60
91
  }
@@ -62,8 +93,10 @@ interface Media {
62
93
  id: string;
63
94
  alt: string;
64
95
  url: string;
65
- metadata?: MediaMetadata;
96
+ order: number;
97
+ metadata: MediaMetadata | null;
66
98
  privacyMetadata?: boolean;
99
+ blurhash?: string | null;
67
100
  }
68
101
  interface MediaUploadUrls {
69
102
  url: string;
@@ -71,7 +104,7 @@ interface MediaUploadUrls {
71
104
  }
72
105
  interface CatalystMediaWithMetadata {
73
106
  url: string;
74
- alt: string;
107
+ alt?: string;
75
108
  width: number;
76
109
  height: number;
77
110
  bytes: number;
@@ -79,25 +112,142 @@ interface CatalystMediaWithMetadata {
79
112
  interface MediaDeleteRequest {
80
113
  url: string;
81
114
  }
82
- interface MediaDownloadRequest {
115
+
116
+ interface CatalystReaction {
117
+ name: string;
118
+ symbol: string;
119
+ url: string;
120
+ count: number;
121
+ hasSelfReaction?: boolean;
122
+ customReactionId?: string;
123
+ }
124
+ interface CatalystReactions {
125
+ reactions: Record<string, CatalystReaction>;
126
+ }
127
+ interface CatalystCustomReaction {
128
+ id: string;
129
+ name: string;
130
+ symbol: string;
83
131
  url: string;
84
132
  }
133
+ type CatalystCustomReactionStatus = "active" | "moderated" | "hidden" | "disabled";
134
+ type CatalystCustomReactionVisibility = "private" | "followers" | "public";
135
+ type SupporterTier = "none" | "tier_0" | "tier_1" | "tier_2" | "tier_3" | "tier_4" | "tier_5";
136
+ interface CatalystUserCustomReaction {
137
+ id: string;
138
+ shortcode: string;
139
+ displayName: string;
140
+ imageUrl: string;
141
+ mimeType: string;
142
+ sortOrder: number;
143
+ status: CatalystCustomReactionStatus;
144
+ visibility: CatalystCustomReactionVisibility;
145
+ createdAt: string;
146
+ }
147
+ interface CatalystCustomReactionList {
148
+ plan: SupporterTier;
149
+ limit: number;
150
+ used: number;
151
+ items: CatalystUserCustomReaction[];
152
+ }
153
+ interface UpdateCustomReactionRequest {
154
+ displayName?: string;
155
+ sortOrder?: number;
156
+ }
157
+
158
+ interface CatalystContestRank {
159
+ id: string;
160
+ name: string;
161
+ description?: string;
162
+ count: number;
163
+ prize: string;
164
+ winners: EgeriaUser[];
165
+ }
166
+ type CatalystContestState = "draft" | "published" | "opening" | "closing" | "voting" | "electing" | "closed";
167
+ interface CatalystContest {
168
+ slug: string;
169
+ draft: boolean;
170
+ state: CatalystContestState;
171
+ title: string;
172
+ description: string;
173
+ theme: string;
174
+ terms: string;
175
+ headerUrl: string;
176
+ bannerUrl: string;
177
+ organizer: EgeriaUser;
178
+ winnersOpenAt: string;
179
+ winnersMessageSendAt: string;
180
+ publishedAt: string;
181
+ since: string;
182
+ until: string;
183
+ allowSensitive: boolean;
184
+ maxMediaPerEntry: number | null;
185
+ voting: {
186
+ since: string;
187
+ until: string;
188
+ maxVotes: number;
189
+ isEnable: boolean;
190
+ };
191
+ ranks: CatalystContestRank[];
192
+ }
193
+ interface CatalystContestWrapper {
194
+ contest: CatalystContest;
195
+ }
196
+ interface CatalystContestsWrapper {
197
+ contests: CatalystContest[];
198
+ }
199
+ /** The current user's remaining vote allowance for a contest. */
200
+ interface CatalystUserVoteRights {
201
+ remaining: number;
202
+ statuses: string[];
203
+ }
85
204
 
86
205
  type CatalystStatusPrivacy = "public" | "quiet_public" | "followers" | "private";
206
+ type CatalystStatusContest = Pick<CatalystContest, "slug" | "title" | "headerUrl" | "bannerUrl">;
87
207
  interface CatalystStatus {
88
208
  id: string;
89
209
  body: string;
90
- user?: EgeriaUser;
210
+ user: EgeriaUser | null;
91
211
  medias: Media[];
212
+ contest: CatalystStatusContest | null;
92
213
  createdAt: string;
93
- updatedAt?: string;
214
+ /** @deprecated 常に空配列。リアクションは reactions()/bulkStatusReactions() を利用すること */
215
+ reactions: unknown[];
216
+ }
217
+ interface CatalystStatusVisitor {
218
+ favorite: boolean;
219
+ reactions?: string[];
94
220
  }
95
- interface CatalystStatusWrapper {
221
+ interface CatalystStatusV1_1 {
222
+ id: string;
223
+ body: string;
224
+ user: EgeriaUser | null;
225
+ medias: Media[];
226
+ contest: Pick<CatalystStatusContest, "slug" | "title" | "headerUrl"> | null;
227
+ reactions: Record<string, Omit<CatalystReaction, "hasSelfReaction">>;
228
+ createdAt: string;
229
+ updatedAt: string;
230
+ visitor?: CatalystStatusVisitor;
231
+ privacy: CatalystStatusPrivacy;
232
+ }
233
+ /** Wrapper for `GET /catalyst/v1/status/{id}` (`{"status": StatusV1_0Response}`). */
234
+ interface CatalystStatusV1Wrapper {
96
235
  status: CatalystStatus;
97
236
  }
237
+ /** Wrapper for `GET /catalyst/v1.1/status/{id}` (`{"status": StatusV1_1Response}`). */
238
+ interface CatalystStatusV1_1Wrapper {
239
+ status: CatalystStatusV1_1;
240
+ }
241
+ /** Wrapper for `GET /catalyst/v1/random` (`{"status": StatusV1_0Response | null}`). */
242
+ interface CatalystRandomStatusWrapper {
243
+ status: CatalystStatus | null;
244
+ }
98
245
  interface CatalystStatuses {
99
246
  statuses: CatalystStatus[];
100
247
  }
248
+ interface CatalystStatusesV1_1 {
249
+ statuses: CatalystStatusV1_1[];
250
+ }
101
251
  interface CatalystCreateStatusRequest {
102
252
  description: string;
103
253
  isNsfw: boolean;
@@ -124,39 +274,69 @@ interface CatalystAlbum {
124
274
  user: EgeriaUser;
125
275
  statuses: CatalystStatus[];
126
276
  }
277
+ /** Wrapper for the `{"albums": [...]}` response shape, e.g. `GET /catalyst/v1/status/{id}/albums`. */
278
+ interface CatalystAlbumsWrapper {
279
+ albums: CatalystAlbum[];
280
+ }
127
281
  interface CatalystSmartAlbum {
128
282
  id: string;
129
283
  name: string;
130
284
  description: string;
131
285
  isAllowNsfw: boolean;
132
286
  isAllowOthers: boolean;
133
- since?: string;
134
- until?: string;
287
+ since?: string | null;
288
+ until?: string | null;
135
289
  isPublic: boolean;
136
290
  mode: CatalystAlbumDisplayMode;
137
- user?: EgeriaUser;
138
- type?: string;
291
+ user: EgeriaUser | null;
139
292
  statuses: CatalystStatus[];
140
293
  hashtags: string[];
141
294
  }
142
295
  interface CatalystSmartAlbums {
143
296
  albums: CatalystSmartAlbum[];
144
297
  }
145
- interface CatalystCreateAlbumRequest {
146
- title: string;
298
+ /** A "type"-discriminated album, returned by album-by-me/by-user/search endpoints which mix
299
+ * plain albums and smart albums in the same list (`AlbumOrSmartAlbumResponse`). */
300
+ interface CatalystAlbumOrSmartAlbum {
301
+ id: string;
302
+ name: string;
147
303
  description: string;
304
+ hashtags: string[];
305
+ isAllowNsfw: boolean;
306
+ isAllowOthers: boolean;
148
307
  isPublic: boolean;
308
+ since: string | null;
309
+ until: string | null;
149
310
  mode: CatalystAlbumDisplayMode;
311
+ user: EgeriaUser;
312
+ statuses: CatalystStatus[];
313
+ type: "album" | "smart-album";
314
+ }
315
+ interface CatalystAlbumOrSmartAlbums {
316
+ albums: CatalystAlbumOrSmartAlbum[];
317
+ }
318
+ interface CatalystCreateAlbumRequest {
319
+ title: string;
320
+ description?: string;
321
+ isPublic?: boolean;
322
+ mode?: CatalystAlbumDisplayMode;
150
323
  }
151
324
  interface CatalystEditAlbumRequest {
152
325
  title: string;
153
- description: string;
154
- isPublic: boolean;
155
- mode: CatalystAlbumDisplayMode;
326
+ description?: string;
327
+ isPublic?: boolean;
328
+ mode?: CatalystAlbumDisplayMode;
329
+ }
330
+ /** Shared request body for `PUT /catalyst/v1/album/by/id/{id}` (both insert and remove). */
331
+ interface CatalystInsertOrRemoveStatusAlbumRequest {
332
+ insert?: string;
333
+ remove?: string;
156
334
  }
335
+ /** @deprecated use {@link CatalystInsertOrRemoveStatusAlbumRequest} */
157
336
  interface CatalystInsertToAlbumRequest {
158
337
  insert: string;
159
338
  }
339
+ /** @deprecated use {@link CatalystInsertOrRemoveStatusAlbumRequest} */
160
340
  interface CatalystRemoveFromAlbumRequest {
161
341
  remove: string;
162
342
  }
@@ -168,7 +348,7 @@ interface CatalystCreateSmartAlbumRequest {
168
348
  until?: string;
169
349
  isAllowNsfw?: boolean;
170
350
  isAllowOthers?: boolean;
171
- isPublic: boolean;
351
+ isPublic?: boolean;
172
352
  mode?: CatalystAlbumDisplayMode;
173
353
  }
174
354
  interface CatalystEditSmartAlbumRequest {
@@ -179,47 +359,74 @@ interface CatalystEditSmartAlbumRequest {
179
359
  until?: string;
180
360
  isAllowNsfw?: boolean;
181
361
  isAllowOthers?: boolean;
182
- isPublic: boolean;
362
+ isPublic?: boolean;
183
363
  mode?: CatalystAlbumDisplayMode;
184
364
  }
185
-
186
- interface CatalystReaction {
187
- name: string;
188
- symbol: string;
189
- url: string;
190
- count: number;
191
- hasSelfReaction?: boolean;
192
- }
193
- interface CatalystReactions {
194
- reactions: Record<string, CatalystReaction>;
195
- }
196
- interface CatalystCustomReaction {
197
- id: string;
198
- name: string;
199
- symbol: string;
200
- url: string;
201
- }
202
- type CatalystCustomReactionStatus = "active" | "moderated" | "hidden" | "disabled";
203
- type SupporterTier = "none" | "tier_0" | "tier_1" | "tier_2" | "tier_3" | "tier_4" | "tier_5";
204
- interface CatalystUserCustomReaction {
365
+ type CatalystAlbumBookTemplate = "photo-book" | "record-book";
366
+ type CatalystAlbumBookQuality = "web" | "print";
367
+ type CatalystAlbumBookTocType = "per-post" | "page-only";
368
+ type CatalystAlbumBookStatus = "pending" | "processing" | "completed" | "failed";
369
+ /** `AlbumBookResponse` — a generated photo/record book for an album or smart album. */
370
+ interface CatalystAlbumBook {
205
371
  id: string;
206
- shortcode: string;
207
- displayName: string;
208
- imageUrl: string;
209
- mimeType: string;
210
- sortOrder: number;
211
- status: CatalystCustomReactionStatus;
212
- createdAt: string;
372
+ albumId: string | null;
373
+ smartAlbumId: string | null;
374
+ template: CatalystAlbumBookTemplate;
375
+ quality: CatalystAlbumBookQuality;
376
+ coverImageUrl: string | null;
377
+ subtitle: string | null;
378
+ customText: string | null;
379
+ showBody: boolean;
380
+ showDate: boolean;
381
+ showUrl: boolean;
382
+ tocType: CatalystAlbumBookTocType | null;
383
+ colophonText: string | null;
384
+ status: CatalystAlbumBookStatus;
385
+ errorMessage: string | null;
386
+ downloadUrl: string | null;
387
+ expiresAt: string | null;
388
+ createdAt: string | null;
389
+ updatedAt: string | null;
390
+ }
391
+ /** Request body for `POST /catalyst/v1/{album,smart-album}/by/id/{id}/book` (`CreateAlbumBook`). */
392
+ interface CatalystCreateAlbumBookRequest {
393
+ template: CatalystAlbumBookTemplate;
394
+ quality: CatalystAlbumBookQuality;
395
+ coverImageUrl?: string;
396
+ subtitle?: string;
397
+ customText?: string;
398
+ showBody?: boolean;
399
+ showDate?: boolean;
400
+ showUrl?: boolean;
401
+ showQrCode?: boolean;
402
+ tocType?: CatalystAlbumBookTocType;
403
+ colophonText?: string;
213
404
  }
214
- interface CatalystCustomReactionList {
215
- plan: SupporterTier;
216
- limit: number;
217
- used: number;
218
- items: CatalystUserCustomReaction[];
219
- }
220
- interface UpdateCustomReactionRequest {
221
- displayName?: string;
222
- sortOrder?: number;
405
+
406
+ /** Generic `{"result": boolean}` response shape used by many mutation endpoints. */
407
+ interface CatalystResult {
408
+ result: boolean;
409
+ }
410
+ /** Generic `{"value": number}` response shape used by reaction toggle endpoints. */
411
+ interface CatalystReactionValue {
412
+ value: number;
413
+ }
414
+ /** Generic `{"message": string}` response shape. */
415
+ interface CatalystMessage {
416
+ message: string;
417
+ }
418
+ /** Total/offset counters used by several list endpoints. */
419
+ interface CountInfo {
420
+ total: number;
421
+ offset: number;
422
+ }
423
+ /** Page cursor metadata used by several list endpoints. */
424
+ interface PageInfo {
425
+ min: number;
426
+ max: number;
427
+ current: number;
428
+ next: number | null;
429
+ prev: number | null;
223
430
  }
224
431
 
225
432
  interface CatalystRelationships {
@@ -231,43 +438,55 @@ interface CatalystRelationships {
231
438
  interface CatalystRelationshipRequest {
232
439
  userId: string;
233
440
  }
441
+ /** Following/follower counts for a user. */
442
+ interface CatalystRelationshipsCount {
443
+ followings: number | null;
444
+ followers: number | null;
445
+ }
446
+ /** Paginated list of a user's followers or followings. */
447
+ interface CatalystFollowingOrFollowersList {
448
+ items: EgeriaUser[];
449
+ count: CountInfo;
450
+ page: PageInfo;
451
+ }
234
452
 
453
+ interface CatalystCreateFleetMediaPlacement {
454
+ posX: number;
455
+ posY: number;
456
+ scale?: number;
457
+ rotation?: number;
458
+ }
235
459
  interface CatalystCreateFleetMedia {
236
460
  url: string;
461
+ alt?: string;
237
462
  width: number;
238
463
  height: number;
239
464
  bytes: number;
240
- placement: {
241
- posX: number;
242
- posY: number;
243
- scale: number;
244
- rotation: number;
245
- };
246
- alt?: string | undefined;
465
+ placement: CatalystCreateFleetMediaPlacement;
247
466
  }
248
467
  interface CatalystCreateFleetText {
249
- backgroundColor: string;
250
468
  body: string;
251
- textStyle: "default" | "bold" | "serif" | "handwriting";
252
- textAlignment: "left" | "center" | "right";
253
- color: string;
469
+ backgroundColor?: string;
470
+ textStyle?: "default" | "bold" | "serif" | "handwriting";
471
+ textAlignment?: "left" | "center" | "right";
472
+ color?: string;
254
473
  posX: number;
255
474
  posY: number;
256
- scale: number;
257
- rotation: number;
475
+ scale?: number;
476
+ rotation?: number;
258
477
  }
259
478
  interface CatalystCreateFleetSticker {
260
479
  posX: number;
261
480
  posY: number;
262
- scale: number;
263
- rotation: number;
481
+ scale?: number;
482
+ rotation?: number;
264
483
  emoji: string;
265
484
  }
266
485
  interface CatalystCreateFleetRequest {
267
- backgroundColor: string;
268
- texts: CatalystCreateFleetText[];
486
+ backgroundColor?: string;
487
+ texts?: CatalystCreateFleetText[];
269
488
  media: CatalystCreateFleetMedia;
270
- stickers: CatalystCreateFleetSticker[];
489
+ stickers?: CatalystCreateFleetSticker[];
271
490
  }
272
491
  interface CatalystFleetText {
273
492
  id: string;
@@ -304,6 +523,7 @@ interface CatalystFleetMedia {
304
523
  interface CatalystFleet extends CatalystReactions {
305
524
  id: string;
306
525
  backgroundColor: string;
526
+ renderedImageUrl: string | null;
307
527
  user: EgeriaUser;
308
528
  texts: CatalystFleetText[];
309
529
  media: CatalystFleetMedia | null;
@@ -322,117 +542,6 @@ interface CatalystFleetRing {
322
542
  fleetCount: number;
323
543
  }
324
544
 
325
- interface CatalystCreateContestRequest {
326
- title: string;
327
- description: string;
328
- theme: string;
329
- }
330
- interface CatalystEditContestRequest {
331
- title?: string;
332
- description?: string;
333
- theme?: string;
334
- terms?: string;
335
- headerUrl?: string;
336
- bannerUrl?: string;
337
- winnersOpenAt?: string;
338
- winnersMessageSendAt?: string;
339
- publishedAt?: string;
340
- application?: {
341
- since?: string;
342
- until?: string;
343
- allowSensitive: boolean;
344
- maxMediaPerEntry?: number;
345
- };
346
- voting?: {
347
- since?: string;
348
- until?: string;
349
- maxVotes?: number;
350
- isEnableVoting?: boolean;
351
- };
352
- ranks?: Omit<CatalystContestRank, "id" | "winners">[];
353
- }
354
- interface CatalystContestRank {
355
- id: string;
356
- name: string;
357
- description?: string;
358
- count: number;
359
- prize: string;
360
- winners: EgeriaUser[];
361
- }
362
- interface CatalystContest {
363
- slug: string;
364
- draft: boolean;
365
- state: string;
366
- title: string;
367
- description: string;
368
- theme: string;
369
- terms: string;
370
- headerUrl: string;
371
- bannerUrl: string;
372
- winnersOpenAt: string;
373
- winnersMessageSendAt: string;
374
- publishedAt: string;
375
- since: string;
376
- until: string;
377
- allowSensitive: boolean;
378
- maxMediaPerEntry: number | null;
379
- voting: {
380
- since: string;
381
- until: string;
382
- maxVotes: number;
383
- isEnable: boolean;
384
- };
385
- winners: {
386
- since: string;
387
- until: string;
388
- };
389
- ranks: CatalystContestRank[];
390
- }
391
- interface CatalystContestAward {
392
- id: string;
393
- name: string;
394
- winners: CatalystStatus & {
395
- message?: string | null;
396
- commentary?: string | null;
397
- attachment?: {
398
- name: string;
399
- id: string;
400
- } | null;
401
- }[];
402
- order: number;
403
- count: number;
404
- remaining: number;
405
- }
406
- interface CatalystSetContestAwardRequest {
407
- status: string;
408
- message?: string;
409
- commentary?: string;
410
- }
411
- interface CatalystUnsetContestAwardRequest {
412
- status: string;
413
- message?: string;
414
- commentary?: string;
415
- }
416
- interface CatalystContestCollaborator {
417
- user: Omit<EgeriaUser, "profile">;
418
- role: "admin" | "collaborator" | "contributor";
419
- }
420
- interface CatalystContestAddCollaboratorRequest {
421
- userId: string;
422
- role: "collaborator" | "contributor";
423
- }
424
- interface CatalystContestRemoveCollaboratorRequest {
425
- userId: string;
426
- }
427
- interface CatalystContestPolls {
428
- status: CatalystStatus;
429
- count: number;
430
- }
431
- interface CatalystUserVoteRights {
432
- remaining: number;
433
- statuses: string[];
434
- }
435
-
436
545
  interface ReportRequest {
437
546
  reason: "nsfw" | "tos_violation" | "harassment" | "spam" | "other";
438
547
  description?: string;
@@ -456,242 +565,221 @@ interface CatalystAnnouncement {
456
565
  until: string;
457
566
  url: string | null;
458
567
  }
568
+ /** Wrapper for the `{"announcements": [...]}` response shape. */
569
+ interface CatalystAnnouncementsWrapper {
570
+ announcements: CatalystAnnouncement[];
571
+ }
459
572
 
460
573
  interface ProfileTag {
461
574
  id: string;
462
575
  name: string;
463
576
  normalizedName: string;
464
577
  }
578
+ /** Wrapper for the `{"tags": [...]}` response shape. */
579
+ interface ProfileTagsWrapper {
580
+ tags: ProfileTag[];
581
+ }
465
582
  interface ProfileTagSuggestion {
466
583
  id: string;
467
584
  name: string;
468
585
  usageCount: number;
469
586
  }
587
+ /** Wrapper for the `{"tags": [...]}` response shape (profile tag suggestions). */
588
+ interface ProfileTagSuggestionsWrapper {
589
+ tags: ProfileTagSuggestion[];
590
+ }
470
591
  interface ProfileTagUser extends EgeriaUser {
471
592
  matchedTags: string[];
472
593
  }
594
+ /** Summary information for a profile tag (used within {@link ProfileTagUsersResult}). */
595
+ interface ProfileTagSummary {
596
+ name: string;
597
+ usageCount: number;
598
+ }
599
+ /** Result of listing users by profile tag, including cursor-based pagination. */
600
+ interface ProfileTagUsersResult {
601
+ tag: ProfileTagSummary;
602
+ users: ProfileTagUser[];
603
+ nextCursor: string | null;
604
+ }
473
605
  interface UpdateProfileTagsRequest {
474
606
  tags: string[];
475
607
  }
476
608
 
609
+ /** A single month bucket in the status archive. */
610
+ interface CatalystArchiveMonth {
611
+ year: number;
612
+ month: number;
613
+ count: number;
614
+ }
615
+ /** Wrapper for the `{"months": [...]}` response shape. */
616
+ interface CatalystArchiveMonths {
617
+ months: CatalystArchiveMonth[];
618
+ }
619
+
620
+ /** A single entry in the "rich" trending list (`GET /catalyst/v1/trend?format=rich`). */
621
+ interface CatalystRichTrendingItem {
622
+ tag: string;
623
+ rank: number;
624
+ previousRank: number | null;
625
+ movement: "up" | "down" | "same" | "new";
626
+ }
627
+
477
628
  declare class CatalystClient {
478
629
  private readonly http;
479
630
  constructor(http: HttpClient);
480
631
  createAlbum(data: CatalystCreateAlbumRequest): Promise<Identity>;
481
632
  getAlbum(id: string, opts?: {
633
+ limit?: number;
482
634
  since?: string;
483
635
  until?: string;
484
636
  }): Promise<CatalystAlbum>;
485
- editAlbum(id: string, data: CatalystEditAlbumRequest): Promise<void>;
486
- insertToAlbum(id: string, data: CatalystInsertToAlbumRequest): Promise<void>;
487
- removeFromAlbum(id: string, data: CatalystRemoveFromAlbumRequest): Promise<void>;
488
- deleteAlbum(id: string): Promise<void>;
489
- listAlbums(username: string, includeSmartAlbums?: boolean): Promise<CatalystSmartAlbums>;
490
- searchAlbums(q: string, includeSmartAlbums?: boolean): Promise<CatalystSmartAlbums>;
637
+ insertToAlbum(id: string, statusId: string): Promise<CatalystResult>;
638
+ removeFromAlbum(id: string, statusId: string): Promise<CatalystResult>;
639
+ editAlbum(id: string, data: CatalystEditAlbumRequest): Promise<CatalystResult>;
640
+ deleteAlbum(id: string): Promise<CatalystResult>;
641
+ getAlbumBooks(id: string): Promise<CatalystAlbumBook[]>;
642
+ createAlbumBook(id: string, data: CatalystCreateAlbumBookRequest): Promise<CatalystAlbumBook>;
643
+ getAlbumBook(id: string, bookId: string): Promise<CatalystAlbumBook>;
644
+ regenerateAlbumBook(id: string, bookId: string): Promise<CatalystAlbumBook>;
645
+ getAlbumsByMe(includeSmartAlbums?: boolean): Promise<CatalystAlbumOrSmartAlbum[]>;
646
+ listAlbums(username: string, includeSmartAlbum?: boolean): Promise<CatalystAlbumOrSmartAlbum[]>;
647
+ searchAlbums(q?: string, includeSmartAlbum?: boolean, until?: string): Promise<CatalystAlbumOrSmartAlbum[]>;
648
+ announcements(): Promise<CatalystAnnouncement[]>;
649
+ block(userId: string): Promise<CatalystResult>;
650
+ unblock(userId: string): Promise<CatalystResult>;
651
+ getContestsByMe(): Promise<CatalystContest[]>;
652
+ getContestBySlug(slug: string): Promise<CatalystContest>;
653
+ contestTimeline(slug: string): Promise<CatalystStatus[]>;
654
+ getContestVotes(slug: string): Promise<CatalystUserVoteRights>;
655
+ addContestVote(slug: string, status: string): Promise<CatalystResult>;
656
+ removeContestVote(slug: string, status: string): Promise<CatalystResult>;
657
+ getContestsByUser(userId: string): Promise<CatalystContest[]>;
658
+ currentContests(): Promise<CatalystContest[]>;
659
+ searchContests(q?: string, state?: string, id?: string): Promise<CatalystContest[]>;
491
660
  customReactions(): Promise<CatalystCustomReaction[]>;
492
- customUserReactions(): Promise<CatalystCustomReactionList>;
661
+ getCustomUserReactions(): Promise<CatalystCustomReactionList>;
662
+ /**
663
+ * Creates a custom reaction. `data` must include the `image`, `shortcode`, `displayName` and
664
+ * `visibility` ("private" | "followers" | "public") fields as multipart form fields.
665
+ */
493
666
  createCustomReaction(data: FormData): Promise<CatalystUserCustomReaction>;
494
- updateCustomReaction(id: string, data: UpdateCustomReactionRequest): Promise<void>;
667
+ updateCustomReaction(id: string, data: UpdateCustomReactionRequest): Promise<CatalystUserCustomReaction>;
495
668
  deleteCustomReaction(id: string): Promise<void>;
496
- block(data: CatalystRelationshipRequest): Promise<void>;
497
- unblock(data: CatalystRelationshipRequest): Promise<void>;
498
- relationships(id: string): Promise<CatalystRelationships>;
499
- follow(data: CatalystRelationshipRequest): Promise<void>;
500
- remove(data: CatalystRelationshipRequest): Promise<void>;
501
- followings(id: string, opts?: {
669
+ createFleet(data: CatalystCreateFleetRequest): Promise<Identity>;
670
+ fleetByUsername(username: string): Promise<CatalystFleet[]>;
671
+ fleets(): Promise<CatalystFleetRing[]>;
672
+ fleetById(id: string): Promise<CatalystFleet>;
673
+ deleteFleet(id: string): Promise<CatalystResult>;
674
+ reactFleet(id: string, symbol: string): Promise<CatalystReactionValue>;
675
+ unreactFleet(id: string, symbol: string): Promise<CatalystReactionValue>;
676
+ viewFleet(id: string): Promise<CatalystResult>;
677
+ fleetViewers(id: string): Promise<CatalystFleetViewer[]>;
678
+ getPrivacySettings(): Promise<CatalystPrivacySettings>;
679
+ updatePrivacySettings(data: CatalystPrivacySettingsRequest): Promise<CatalystPrivacySettings>;
680
+ updateProfileTags(data: UpdateProfileTagsRequest): Promise<ProfileTag[]>;
681
+ profileTagSuggestions(q: string): Promise<ProfileTagSuggestion[]>;
682
+ getUsersByProfileTag(name: string, cursor?: string): Promise<ProfileTagUsersResult>;
683
+ getProfileTagsByUser(id: string): Promise<ProfileTag[]>;
684
+ randomStatus(): Promise<CatalystStatus | null>;
685
+ randomStatusV1_1(): Promise<CatalystStatusV1_1>;
686
+ onThisDay(): Promise<CatalystStatusV1_1>;
687
+ createStatus(data: CatalystCreateStatusRequest): Promise<Identity>;
688
+ getStatus(id: string): Promise<CatalystStatus>;
689
+ getStatusV1_1(id: string): Promise<CatalystStatusV1_1>;
690
+ editStatus(id: string, description: string): Promise<Identity>;
691
+ deleteStatus(id: string): Promise<CatalystMessage>;
692
+ albumsInStatus(id: string): Promise<CatalystAlbum[]>;
693
+ isFavorited(id: string): Promise<boolean>;
694
+ favorite(id: string): Promise<CatalystResult>;
695
+ unfavorite(id: string): Promise<CatalystResult>;
696
+ reactions(id: string): Promise<Record<string, CatalystReaction>>;
697
+ reactWithCustomReaction(id: string, customReactionId: string): Promise<void>;
698
+ unreactWithCustomReaction(id: string, customReactionId: string): Promise<void>;
699
+ react(id: string, symbol: string): Promise<CatalystReactionValue>;
700
+ unreact(id: string, symbol: string): Promise<CatalystReactionValue>;
701
+ reportStatus(id: string, data: ReportRequest): Promise<Identity>;
702
+ bulkStatusReactions(ids: string[]): Promise<Record<string, Record<string, CatalystReaction>>>;
703
+ follow(userId: string): Promise<CatalystResult>;
704
+ remove(userId: string): Promise<CatalystResult>;
705
+ relationshipCounts(username: string): Promise<CatalystRelationshipsCount>;
706
+ followers(username: string, opts?: {
502
707
  page?: number;
503
- }): Promise<{
504
- items: EgeriaUser[];
505
- count: {
506
- total: number;
507
- offset: number;
508
- };
509
- page: {
510
- min: number;
511
- max: number;
512
- current: number;
513
- next: number | null;
514
- prev: number | null;
515
- };
516
- }>;
517
- followers(id: string, opts?: {
708
+ }): Promise<CatalystFollowingOrFollowersList>;
709
+ followings(username: string, opts?: {
518
710
  page?: number;
519
- }): Promise<{
520
- items: EgeriaUser[];
521
- count: {
522
- total: number;
523
- offset: number;
524
- };
525
- page: {
526
- min: number;
527
- max: number;
528
- current: number;
529
- next: number | null;
530
- prev: number | null;
531
- };
532
- }>;
533
- relationshipCounts(id: string): Promise<{
534
- followers: number | null;
535
- followings: number | null;
536
- }>;
711
+ }): Promise<CatalystFollowingOrFollowersList>;
712
+ relationships(id: string): Promise<CatalystRelationships>;
537
713
  createSmartAlbum(data: CatalystCreateSmartAlbumRequest): Promise<Identity>;
538
714
  getSmartAlbum(id: string, opts?: {
715
+ limit?: number;
539
716
  since?: string;
540
717
  until?: string;
541
718
  }): Promise<CatalystSmartAlbum>;
542
- editSmartAlbum(id: string, data: CatalystEditSmartAlbumRequest): Promise<void>;
543
- deleteSmartAlbum(id: string): Promise<void>;
544
- searchSmartAlbum(q: string): Promise<CatalystSmartAlbums>;
545
- createStatus(data: CatalystCreateStatusRequest): Promise<Identity>;
546
- getStatus(id: string): Promise<CatalystStatusWrapper>;
547
- editStatus(id: string, data: CatalystEditStatusRequest): Promise<void>;
548
- deleteStatus(id: string): Promise<void>;
549
- isFavorited(id: string): Promise<boolean>;
550
- favorite(id: string): Promise<void>;
551
- unfavorite(id: string): Promise<void>;
552
- reactions(id: string): Promise<CatalystReactions>;
553
- albumsInStatus(id: string): Promise<CatalystSmartAlbums>;
554
- react(id: string, symbol: string): Promise<void>;
555
- unreact(id: string, symbol: string): Promise<void>;
556
- contestTimeline(slug: string, opts?: {
719
+ editSmartAlbum(id: string, data: CatalystEditSmartAlbumRequest): Promise<CatalystSmartAlbum>;
720
+ deleteSmartAlbum(id: string): Promise<CatalystResult>;
721
+ getSmartAlbumBooks(id: string): Promise<CatalystAlbumBook[]>;
722
+ createSmartAlbumBook(id: string, data: CatalystCreateAlbumBookRequest): Promise<CatalystAlbumBook>;
723
+ getSmartAlbumBook(id: string, bookId: string): Promise<CatalystAlbumBook>;
724
+ regenerateSmartAlbumBook(id: string, bookId: string): Promise<CatalystAlbumBook>;
725
+ listSmartAlbumsByUser(userId: string): Promise<CatalystSmartAlbum[]>;
726
+ searchSmartAlbums(q?: string): Promise<CatalystSmartAlbum[]>;
727
+ archiveTimeline(opts: {
728
+ year: number;
729
+ month: number;
730
+ day?: number;
731
+ since?: string;
732
+ until?: string;
733
+ userId?: string;
734
+ limit?: number;
735
+ excludeSensitive?: boolean;
736
+ }): Promise<CatalystStatus[]>;
737
+ archiveMonths(): Promise<CatalystArchiveMonth[]>;
738
+ timelineByContestSlug(slug: string, opts?: {
557
739
  since?: string;
558
740
  until?: string;
559
- }): Promise<CatalystStatuses>;
741
+ }): Promise<CatalystStatus[]>;
560
742
  favoriteTimeline(opts?: {
561
743
  since?: string;
562
744
  until?: string;
563
- }): Promise<CatalystStatuses>;
564
- firehoseTimeline(opts?: {
745
+ }): Promise<CatalystStatusV1_1[]>;
746
+ firehoseTimelineV1(opts?: {
565
747
  since?: string;
566
748
  until?: string;
567
749
  }): Promise<CatalystStatus[]>;
568
750
  galleryTimeline(opts?: {
569
751
  since?: string;
570
752
  until?: string;
571
- }): Promise<CatalystStatuses>;
572
- homeTimeline(opts?: {
573
- since?: string;
574
- until?: string;
575
753
  }): Promise<CatalystStatus[]>;
754
+ homeTimelineV1(): Promise<CatalystStatus[]>;
576
755
  searchTimeline(opts?: {
577
756
  q?: string;
578
757
  exact?: boolean;
579
758
  since?: string;
580
759
  until?: string;
581
- }): Promise<CatalystStatuses>;
760
+ }): Promise<CatalystStatus[]>;
582
761
  userTimeline(username: string, opts?: {
583
- trimUser?: boolean;
584
- excludeSensitive?: boolean;
585
762
  since?: string;
586
763
  until?: string;
587
- }): Promise<CatalystStatuses>;
764
+ limit?: number;
765
+ excludeSensitive?: boolean;
766
+ }): Promise<CatalystStatus[]>;
588
767
  userGalleryTimeline(username: string, opts?: {
589
768
  since?: string;
590
769
  until?: string;
591
- }): Promise<CatalystStatuses>;
592
- trend(): Promise<string[]>;
593
- createFleet(data: CatalystCreateFleetRequest): Promise<void>;
594
- fleetById(id: string): Promise<CatalystFleet>;
595
- deleteFleet(id: string): Promise<void>;
596
- viewFleet(id: string): Promise<void>;
597
- fleetViewers(id: string): Promise<CatalystFleetViewer[]>;
598
- reactFleet(id: string, symbol: string): Promise<void>;
599
- unreactFleet(id: string, symbol: string): Promise<void>;
600
- fleets(): Promise<CatalystFleetRing[]>;
601
- fleetByUsername(username: string): Promise<CatalystFleet[]>;
602
- createContest(data: CatalystCreateContestRequest): Promise<Identity>;
603
- getContestsByMe(): Promise<CatalystContest[]>;
604
- getContestBySlug(slug: string): Promise<{
605
- contest: CatalystContest;
606
- }>;
607
- editContest(slug: string, data: CatalystEditContestRequest): Promise<void>;
608
- getContestAwards(slug: string): Promise<{
609
- awards: CatalystContestAward[];
610
- }>;
611
- setContestAward(slug: string, id: string, data: CatalystSetContestAwardRequest): Promise<void>;
612
- unsetContestAward(slug: string, id: string, data: CatalystUnsetContestAwardRequest): Promise<void>;
613
- getContestCollaborators(slug: string): Promise<{
614
- collaborators: string[];
615
- }>;
616
- addContestCollaborator(slug: string, data: CatalystContestAddCollaboratorRequest): Promise<void>;
617
- removeContestCollaborator(slug: string, data: CatalystContestRemoveCollaboratorRequest): Promise<void>;
618
- copyContest(slug: string): Promise<Identity>;
619
- getAccessPermissionOfContest(slug: string): Promise<{
620
- result: "admin" | "collaborator" | "contributor" | "guest";
621
- }>;
622
- publishContest(slug: string): Promise<Identity>;
623
- addContestVoteToStatus(slug: string, id: string): Promise<void>;
624
- removeContestVoteFromStatus(slug: string, id: string): Promise<void>;
625
- getContestVotes(slug: string): Promise<CatalystUserVoteRights>;
626
- searchContest(state: string, q?: string): Promise<{
627
- contests: CatalystContest[];
628
- }>;
629
- reportStatus(id: string, data: ReportRequest): Promise<void>;
630
- getPrivacySettings(): Promise<CatalystPrivacySettings>;
631
- updatePrivacySettings(data: CatalystPrivacySettingsRequest): Promise<CatalystPrivacySettings>;
632
- announcements(): Promise<{
633
- announcements: CatalystAnnouncement[];
634
- }>;
635
- updateProfileTags(data: UpdateProfileTagsRequest): Promise<{
636
- tags: ProfileTag[];
637
- }>;
638
- profileTagSuggestions(q: string): Promise<{
639
- tags: ProfileTagSuggestion[];
640
- }>;
641
- getUsersByProfileTag(name: string, cursor?: string): Promise<{
642
- items: ProfileTagUser[];
643
- cursor: string | null;
644
- }>;
645
- getProfileTagsByUser(id: string): Promise<{
646
- tags: ProfileTag[];
647
- }>;
648
- randomStatus(): Promise<{
649
- status: CatalystStatus | null;
650
- }>;
651
- randomStatusByHashtag(q: string): Promise<{
652
- status: CatalystStatus | null;
653
- }>;
654
- bulkStatusReactions(ids: string[]): Promise<{
655
- reactions: Record<string, CatalystReactions>;
656
- }>;
657
- archiveTimeline(opts: {
658
- year: number;
659
- month: number;
660
- day?: number;
770
+ }): Promise<CatalystStatus[]>;
771
+ firehoseTimeline(opts?: {
661
772
  since?: string;
662
773
  until?: string;
663
- userId?: string;
664
- limit?: number;
665
- trimUser?: boolean;
666
- excludeSensitive?: boolean;
667
- }): Promise<{
668
- statuses: CatalystStatus[];
669
- }>;
670
- archiveMonths(): Promise<{
671
- months: {
672
- year: number;
673
- month: number;
674
- count: number;
675
- }[];
676
- }>;
677
- currentContests(): Promise<{
678
- contests: CatalystContest[];
679
- }>;
680
- getContestsByUser(username: string): Promise<{
681
- contests: CatalystContest[];
682
- }>;
683
- getContestPolls(slug: string): Promise<{
684
- polls: {
685
- status: CatalystStatus;
686
- count: number;
687
- }[];
688
- }>;
689
- getAlbumsByMe(includeSmartAlbums?: boolean): Promise<{
690
- albums: CatalystAlbum[];
691
- }>;
692
- listSmartAlbumsByUser(username: string): Promise<{
693
- albums: CatalystSmartAlbum[];
694
- }>;
774
+ trimVisitor?: boolean;
775
+ }): Promise<CatalystStatusV1_1[]>;
776
+ homeTimeline(opts?: {
777
+ since?: string;
778
+ until?: string;
779
+ trimVisitor?: boolean;
780
+ }): Promise<CatalystStatusV1_1[]>;
781
+ trend(): Promise<string[] | null>;
782
+ richTrend(): Promise<CatalystRichTrendingItem[] | null>;
695
783
  }
696
784
 
697
785
  declare class EgeriaClient {
@@ -704,11 +792,137 @@ declare class EgeriaClient {
704
792
  userByUsername(username: string): Promise<EgeriaUserWrapper | undefined>;
705
793
  }
706
794
 
795
+ interface EpiclesePlatform {
796
+ id: string;
797
+ name: string;
798
+ description: string;
799
+ url: string | null;
800
+ startAt: string | null;
801
+ }
802
+ interface EpiclesePlatformsWrapper {
803
+ platforms: EpiclesePlatform[];
804
+ }
805
+ interface EpiclesePlatformWrapper {
806
+ platform: EpiclesePlatform;
807
+ }
808
+ interface EpicleseAuthor {
809
+ id: string;
810
+ platformIdentifier: string;
811
+ platform: EpiclesePlatform | null;
812
+ name: string;
813
+ }
814
+ interface EpicleseAuthorWrapper {
815
+ author: EpicleseAuthor;
816
+ }
817
+ /** Paginated result of `GET /epiclese/v1/authors`. */
818
+ interface EpicleseAuthorsResult {
819
+ items: EpicleseAuthor[];
820
+ count: CountInfo;
821
+ page: PageInfo;
822
+ }
823
+ interface EpicleseWorld {
824
+ id: string;
825
+ platformIdentifier: string;
826
+ platform: EpiclesePlatform | null;
827
+ name: string;
828
+ author: EpicleseAuthor | null;
829
+ }
830
+ interface EpicleseWorldWrapper {
831
+ world: EpicleseWorld | null;
832
+ }
833
+ /** Internal wrapper for `GET /epiclese/v1/worlds` (`{"items": [...]}`, unwrapped by the client). */
834
+ interface EpicleseWorldsWrapper {
835
+ items: EpicleseWorld[];
836
+ }
837
+ interface EpicleseCreateAuthorRequest {
838
+ id?: string;
839
+ platformIdentifier: string;
840
+ platform: string;
841
+ name: string;
842
+ }
843
+ interface EpicleseCreateWorldRequest {
844
+ id?: string;
845
+ platformIdentifier: string;
846
+ platform: string;
847
+ name: string;
848
+ author: EpicleseCreateAuthorRequest | null;
849
+ }
850
+ interface EpicleseCreateStatusMetadataReferenceRequest {
851
+ x: number;
852
+ y: number;
853
+ /** UUID referencing another tag entry within the same batch request. */
854
+ reference?: string;
855
+ type: string;
856
+ name: string;
857
+ description?: string;
858
+ externalUrl?: string;
859
+ author?: EpicleseCreateAuthorRequest;
860
+ }
861
+ interface EpicleseCreateStatusMetadataTagRequest {
862
+ id: string;
863
+ platform?: string;
864
+ world?: EpicleseCreateWorldRequest;
865
+ users?: {
866
+ id: string;
867
+ }[];
868
+ reference: EpicleseCreateStatusMetadataReferenceRequest[];
869
+ privacyMetadata?: boolean;
870
+ }
871
+ interface EpicleseStatusMetadataReference {
872
+ type: string;
873
+ name: string;
874
+ description: string;
875
+ externalUrl: string | null;
876
+ author: EpicleseAuthor;
877
+ x: number;
878
+ y: number;
879
+ reference: string;
880
+ }
881
+ interface EpicleseStatusMetadataTag {
882
+ platform: string | null;
883
+ world: EpicleseWorld | null;
884
+ users: EgeriaUser[];
885
+ reference: EpicleseStatusMetadataReference[];
886
+ additionalData?: Record<string, string>;
887
+ additionalData2?: Record<string, {
888
+ value: string;
889
+ ref: string | null;
890
+ }>;
891
+ }
892
+ /** `EpicleseStatusMetadataResponse` — a map keyed by tag id. */
893
+ type EpicleseStatusMetadata = Record<string, EpicleseStatusMetadataTag>;
894
+
895
+ /** Client for Epiclese (world/author metadata) API endpoints. */
896
+ declare class EpicleseClient {
897
+ private readonly http;
898
+ constructor(http: HttpClient);
899
+ getAuthors(q?: string, platform?: string): Promise<EpicleseAuthorsResult>;
900
+ createAuthor(data: EpicleseCreateAuthorRequest): Promise<EpicleseAuthor>;
901
+ getPlatforms(): Promise<EpiclesePlatform[]>;
902
+ getPlatform(id: string): Promise<EpiclesePlatform>;
903
+ getStatusMetadata(statusId: string): Promise<EpicleseStatusMetadata>;
904
+ createStatusMetadata(statusId: string, tags: EpicleseCreateStatusMetadataTagRequest[]): Promise<EpicleseStatusMetadata>;
905
+ getWorlds(q?: string, platform?: string, offset?: number): Promise<EpicleseWorld[]>;
906
+ createWorld(data: EpicleseCreateWorldRequest): Promise<EpicleseWorld | null>;
907
+ resolveWorld(platform: string, name: string): Promise<EpicleseWorld | null>;
908
+ }
909
+
910
+ /** Client for Feature Flags API endpoints. */
911
+ declare class FeatureFlagsClient {
912
+ private readonly http;
913
+ constructor(http: HttpClient);
914
+ /** Gets the feature flags enabled for the current user. */
915
+ me(): Promise<string[]>;
916
+ }
917
+
707
918
  declare class MediaClient {
708
919
  private readonly http;
709
920
  constructor(http: HttpClient);
710
- download(data: MediaDownloadRequest): Promise<ArrayBuffer>;
711
- delete(data: MediaDeleteRequest): Promise<void>;
921
+ /** Gets a signed URL for uploading media (v1). */
922
+ uploadV1(): Promise<MediaUploadUrls>;
923
+ /** Deletes media by URL. */
924
+ delete(url: string): Promise<boolean>;
925
+ /** Gets a signed URL for uploading media (v2). */
712
926
  upload(): Promise<MediaUploadUrls>;
713
927
  }
714
928
 
@@ -729,7 +943,7 @@ interface Notification {
729
943
  id: string;
730
944
  title: string;
731
945
  isGrouped: boolean;
732
- belongsTo: Record<string, unknown>;
946
+ belongsTo?: Record<string, unknown>;
733
947
  entities: NotificationGroup[];
734
948
  hasMore: boolean;
735
949
  read: boolean;
@@ -750,19 +964,26 @@ declare class SteambirdClient {
750
964
  readonly ISSUER_CATALYST_USER_MESSAGE = "natsuneko-laboratory:catalyst-message";
751
965
  readonly ISSUER_EGERIA_SYSTEM_MESSAGE = "natsuneko-laboratory:egeria";
752
966
  constructor(http: HttpClient);
753
- notifications(issuer: string, opts?: {
967
+ /** Gets notifications for a specific issuer, or all issuers if omitted. */
968
+ notifications(issuer?: string, opts?: {
754
969
  since?: string;
755
970
  until?: string;
756
- }): Promise<Notifications>;
757
- read(id: string): Promise<void>;
758
- readAll(issuer?: string): Promise<void>;
759
- unreads(issuers?: string[]): Promise<NotificationUnreadCount>;
971
+ }): Promise<Notification[]>;
972
+ read(id: string): Promise<CatalystResult>;
973
+ readAll(issuer?: string): Promise<CatalystResult>;
974
+ unreads(issuer?: string, issuers?: string[]): Promise<NotificationUnreadCount>;
760
975
  }
761
976
 
762
977
  interface Token {
763
978
  accessToken: string;
764
979
  refreshToken: string;
765
980
  tokenType: string;
981
+ /** Present on responses from the real token-exchange endpoint (e.g. "read write"). */
982
+ scope?: string;
983
+ /** ISO8601 timestamp string for when the access token expires. */
984
+ expiresAt?: string;
985
+ /** Seconds until the access token expires. */
986
+ expiresIn?: number;
766
987
  }
767
988
 
768
989
  declare class PKCE {
@@ -824,6 +1045,8 @@ declare class CatalystTS {
824
1045
  get egeria(): EgeriaClient;
825
1046
  get media(): MediaClient;
826
1047
  get steambird(): SteambirdClient;
1048
+ get epiclese(): EpicleseClient;
1049
+ get featureFlags(): FeatureFlagsClient;
827
1050
  }
828
1051
 
829
1052
  declare class ApiError extends Error {
@@ -844,74 +1067,132 @@ declare const PUBLIC_API_ENDPOINT = "https://api.natsuneko.com";
844
1067
  declare const PUBLIC_GRAPHQL_ENDPOINT = "https://graphql.natsuneko.com";
845
1068
  declare const PUBLIC_AUTHORIZE_ENDPOINT = "https://accounts.natsuneko.com/authorize";
846
1069
 
1070
+ /** Wrapper for the `{"flags": [...]}` response shape of `GET /feature-flags/v1/me`. */
1071
+ interface FeatureFlagsResponse {
1072
+ flags: string[];
1073
+ }
1074
+
847
1075
  declare const CatalystEndpoint: {
848
1076
  readonly createAlbum: (data: CatalystCreateAlbumRequest) => Endpoint;
849
1077
  readonly getAlbum: (id: string, opts?: {
1078
+ limit?: number;
850
1079
  since?: string;
851
1080
  until?: string;
852
1081
  }) => Endpoint;
1082
+ readonly insertToAlbum: (id: string, statusId: string) => Endpoint;
1083
+ readonly removeFromAlbum: (id: string, statusId: string) => Endpoint;
853
1084
  readonly editAlbum: (id: string, data: CatalystEditAlbumRequest) => Endpoint;
854
- readonly insertToAlbum: (id: string, data: CatalystInsertToAlbumRequest) => Endpoint;
855
- readonly removeFromAlbum: (id: string, data: CatalystRemoveFromAlbumRequest) => Endpoint;
856
1085
  readonly deleteAlbum: (id: string) => Endpoint;
857
- readonly listAlbums: (username: string, includeSmartAlbums?: boolean) => Endpoint;
858
- readonly searchAlbum: (q: string, includeSmartAlbums?: boolean) => Endpoint;
1086
+ readonly getAlbumBooks: (id: string) => Endpoint;
1087
+ readonly createAlbumBook: (id: string, data: CatalystCreateAlbumBookRequest) => Endpoint;
1088
+ readonly getAlbumBook: (id: string, bookId: string) => Endpoint;
1089
+ readonly regenerateAlbumBook: (id: string, bookId: string) => Endpoint;
1090
+ readonly getAlbumsByMe: (includeSmartAlbums?: boolean) => Endpoint;
1091
+ readonly listAlbums: (username: string, includeSmartAlbum?: boolean) => Endpoint;
1092
+ readonly searchAlbums: (q?: string, includeSmartAlbum?: boolean, until?: string) => Endpoint;
1093
+ readonly announcements: () => Endpoint;
1094
+ readonly block: (userId: string) => Endpoint;
1095
+ readonly unblock: (userId: string) => Endpoint;
1096
+ readonly getContestsByMe: () => Endpoint;
1097
+ readonly getContestBySlug: (slug: string) => Endpoint;
1098
+ readonly contestTimeline: (slug: string) => Endpoint;
1099
+ readonly getContestVotes: (slug: string) => Endpoint;
1100
+ readonly addContestVote: (slug: string, status: string) => Endpoint;
1101
+ readonly removeContestVote: (slug: string, status: string) => Endpoint;
1102
+ readonly getContestsByUser: (userId: string) => Endpoint;
1103
+ readonly currentContests: () => Endpoint;
1104
+ readonly searchContests: (q?: string, state?: string, id?: string) => Endpoint;
859
1105
  readonly customReactions: () => Endpoint;
860
- readonly customUserReactions: () => Endpoint;
1106
+ readonly getCustomUserReactions: () => Endpoint;
861
1107
  readonly createCustomReaction: (data: FormData) => Endpoint;
862
1108
  readonly updateCustomReaction: (id: string, data: UpdateCustomReactionRequest) => Endpoint;
863
1109
  readonly deleteCustomReaction: (id: string) => Endpoint;
864
- readonly block: (data: CatalystRelationshipRequest) => Endpoint;
865
- readonly unblock: (data: CatalystRelationshipRequest) => Endpoint;
866
- readonly relationships: (id: string) => Endpoint;
867
- readonly follow: (data: CatalystRelationshipRequest) => Endpoint;
868
- readonly remove: (data: CatalystRelationshipRequest) => Endpoint;
869
- readonly followings: (username: string, opts?: {
1110
+ readonly createFleet: (data: CatalystCreateFleetRequest) => Endpoint;
1111
+ readonly fleetByUsername: (username: string) => Endpoint;
1112
+ readonly fleets: () => Endpoint;
1113
+ readonly fleetById: (id: string) => Endpoint;
1114
+ readonly deleteFleet: (id: string) => Endpoint;
1115
+ readonly reactFleet: (id: string, symbol: string) => Endpoint;
1116
+ readonly unreactFleet: (id: string, symbol: string) => Endpoint;
1117
+ readonly viewFleet: (id: string) => Endpoint;
1118
+ readonly fleetViewers: (id: string) => Endpoint;
1119
+ readonly getPrivacySettings: () => Endpoint;
1120
+ readonly updatePrivacySettings: (data: CatalystPrivacySettingsRequest) => Endpoint;
1121
+ readonly updateProfileTags: (data: UpdateProfileTagsRequest) => Endpoint;
1122
+ readonly profileTagSuggestions: (q: string) => Endpoint;
1123
+ readonly getUsersByProfileTag: (name: string, cursor?: string) => Endpoint;
1124
+ readonly getProfileTagsByUser: (id: string) => Endpoint;
1125
+ readonly randomStatus: () => Endpoint;
1126
+ readonly randomStatusV1_1: () => Endpoint;
1127
+ readonly onThisDay: () => Endpoint;
1128
+ readonly createStatus: (data: CatalystCreateStatusRequest) => Endpoint;
1129
+ readonly getStatus: (id: string) => Endpoint;
1130
+ readonly getStatusV1_1: (id: string) => Endpoint;
1131
+ readonly editStatus: (id: string, data: CatalystEditStatusRequest) => Endpoint;
1132
+ readonly deleteStatus: (id: string) => Endpoint;
1133
+ readonly albumsInStatus: (id: string) => Endpoint;
1134
+ readonly isFavorited: (id: string) => Endpoint;
1135
+ readonly favorite: (id: string) => Endpoint;
1136
+ readonly unfavorite: (id: string) => Endpoint;
1137
+ readonly reactions: (id: string) => Endpoint;
1138
+ readonly reactWithCustomReaction: (id: string, customReactionId: string) => Endpoint;
1139
+ readonly unreactWithCustomReaction: (id: string, customReactionId: string) => Endpoint;
1140
+ readonly react: (id: string, symbol: string) => Endpoint;
1141
+ readonly unreact: (id: string, symbol: string) => Endpoint;
1142
+ readonly reportStatus: (id: string, data: ReportRequest) => Endpoint;
1143
+ readonly bulkStatusReactions: (ids: string[]) => Endpoint;
1144
+ readonly follow: (userId: string) => Endpoint;
1145
+ readonly remove: (userId: string) => Endpoint;
1146
+ readonly relationshipCounts: (username: string) => Endpoint;
1147
+ readonly followers: (username: string, opts?: {
870
1148
  page?: number;
871
1149
  }) => Endpoint;
872
- readonly followers: (username: string, opts?: {
1150
+ readonly followings: (username: string, opts?: {
873
1151
  page?: number;
874
1152
  }) => Endpoint;
875
- readonly relationshipCounts: (username: string) => Endpoint;
1153
+ readonly relationships: (id: string) => Endpoint;
876
1154
  readonly createSmartAlbum: (data: CatalystCreateSmartAlbumRequest) => Endpoint;
877
1155
  readonly getSmartAlbum: (id: string, opts?: {
1156
+ limit?: number;
878
1157
  since?: string;
879
1158
  until?: string;
880
1159
  }) => Endpoint;
881
1160
  readonly editSmartAlbum: (id: string, data: CatalystEditSmartAlbumRequest) => Endpoint;
882
1161
  readonly deleteSmartAlbum: (id: string) => Endpoint;
883
- readonly searchSmartAlbum: (q: string) => Endpoint;
884
- readonly createStatus: (data: CatalystCreateStatusRequest) => Endpoint;
885
- readonly getStatus: (id: string) => Endpoint;
886
- readonly editStatus: (id: string, data: CatalystEditStatusRequest) => Endpoint;
887
- readonly deleteStatus: (id: string) => Endpoint;
888
- readonly isFavorited: (id: string) => Endpoint;
889
- readonly favorite: (id: string) => Endpoint;
890
- readonly unfavorite: (id: string) => Endpoint;
891
- readonly reactions: (id: string) => Endpoint;
892
- readonly albumsInStatus: (id: string) => Endpoint;
893
- readonly react: (id: string, symbol: string) => Endpoint;
894
- readonly unreact: (id: string, symbol: string) => Endpoint;
895
- readonly contestTimeline: (slug: string, opts?: {
1162
+ readonly getSmartAlbumBooks: (id: string) => Endpoint;
1163
+ readonly createSmartAlbumBook: (id: string, data: CatalystCreateAlbumBookRequest) => Endpoint;
1164
+ readonly getSmartAlbumBook: (id: string, bookId: string) => Endpoint;
1165
+ readonly regenerateSmartAlbumBook: (id: string, bookId: string) => Endpoint;
1166
+ readonly listSmartAlbumsByUser: (userId: string) => Endpoint;
1167
+ readonly searchSmartAlbums: (q?: string) => Endpoint;
1168
+ readonly archiveTimeline: (opts: {
1169
+ year: number;
1170
+ month: number;
1171
+ day?: number;
896
1172
  since?: string;
897
1173
  until?: string;
1174
+ userId?: string;
1175
+ limit?: number;
1176
+ excludeSensitive?: boolean;
898
1177
  }) => Endpoint;
899
- readonly favoriteTimeline: (opts?: {
1178
+ readonly archiveMonths: () => Endpoint;
1179
+ readonly timelineByContestSlug: (slug: string, opts?: {
900
1180
  since?: string;
901
1181
  until?: string;
902
1182
  }) => Endpoint;
903
- readonly firehoseTimeline: (opts?: {
1183
+ readonly favoriteTimeline: (opts?: {
904
1184
  since?: string;
905
1185
  until?: string;
906
1186
  }) => Endpoint;
907
- readonly galleryTimeline: (opts?: {
1187
+ readonly firehoseTimelineV1: (opts?: {
908
1188
  since?: string;
909
1189
  until?: string;
910
1190
  }) => Endpoint;
911
- readonly homeTimeline: (opts?: {
1191
+ readonly galleryTimeline: (opts?: {
912
1192
  since?: string;
913
1193
  until?: string;
914
1194
  }) => Endpoint;
1195
+ readonly homeTimelineV1: () => Endpoint;
915
1196
  readonly searchTimeline: (opts?: {
916
1197
  q?: string;
917
1198
  exact?: boolean;
@@ -919,70 +1200,27 @@ declare const CatalystEndpoint: {
919
1200
  until?: string;
920
1201
  }) => Endpoint;
921
1202
  readonly userTimeline: (username: string, opts?: {
922
- trimUser?: boolean;
923
- excludeSensitive?: boolean;
924
1203
  since?: string;
925
1204
  until?: string;
1205
+ limit?: number;
1206
+ excludeSensitive?: boolean;
926
1207
  }) => Endpoint;
927
1208
  readonly userGalleryTimeline: (username: string, opts?: {
928
1209
  since?: string;
929
1210
  until?: string;
930
1211
  }) => Endpoint;
931
- readonly trend: () => Endpoint;
932
- readonly createFleet: (data: CatalystCreateFleetRequest) => Endpoint;
933
- readonly fleetById: (id: string) => Endpoint;
934
- readonly deleteFleet: (id: string) => Endpoint;
935
- readonly viewFleet: (id: string) => Endpoint;
936
- readonly fleetViewers: (id: string) => Endpoint;
937
- readonly reactFleet: (id: string, symbol: string) => Endpoint;
938
- readonly unreactFleet: (id: string, symbol: string) => Endpoint;
939
- readonly fleets: () => Endpoint;
940
- readonly fleetByUsername: (username: string) => Endpoint;
941
- readonly createContest: (data: CatalystCreateContestRequest) => Endpoint;
942
- readonly getContestsByMe: () => Endpoint;
943
- readonly getContestBySlug: (slug: string) => Endpoint;
944
- readonly editContest: (slug: string, data: CatalystEditContestRequest) => Endpoint;
945
- readonly getContestAwards: (slug: string) => Endpoint;
946
- readonly setContestAward: (slug: string, id: string, data: CatalystSetContestAwardRequest) => Endpoint;
947
- readonly unsetContestAward: (slug: string, id: string, data: CatalystUnsetContestAwardRequest) => Endpoint;
948
- readonly getContestCollaborators: (slug: string) => Endpoint;
949
- readonly addContestCollaborator: (slug: string, data: CatalystContestAddCollaboratorRequest) => Endpoint;
950
- readonly removeContestCollaborator: (slug: string, data: CatalystContestRemoveCollaboratorRequest) => Endpoint;
951
- readonly copyContest: (slug: string) => Endpoint;
952
- readonly getAccessPermissionOfContest: (slug: string) => Endpoint;
953
- readonly getContestPolls: (slug: string) => Endpoint;
954
- readonly publishContest: (slug: string) => Endpoint;
955
- readonly addContestVoteToStatus: (slug: string, id: string) => Endpoint;
956
- readonly removeContestVoteFromStatus: (slug: string, id: string) => Endpoint;
957
- readonly getContestVotes: (slug: string) => Endpoint;
958
- readonly searchContest: (state: string, q?: string) => Endpoint;
959
- readonly reportStatus: (id: string, data: ReportRequest) => Endpoint;
960
- readonly getPrivacySettings: () => Endpoint;
961
- readonly updatePrivacySettings: (data: CatalystPrivacySettingsRequest) => Endpoint;
962
- readonly announcements: () => Endpoint;
963
- readonly updateProfileTags: (data: UpdateProfileTagsRequest) => Endpoint;
964
- readonly profileTagSuggestions: (q: string) => Endpoint;
965
- readonly getUsersByProfileTag: (name: string, cursor?: string) => Endpoint;
966
- readonly getProfileTagsByUser: (id: string) => Endpoint;
967
- readonly randomStatus: () => Endpoint;
968
- readonly randomStatusByHashtag: (q: string) => Endpoint;
969
- readonly bulkStatusReactions: (ids: string[]) => Endpoint;
970
- readonly archiveTimeline: (opts: {
971
- year: number;
972
- month: number;
973
- day?: number;
1212
+ readonly firehoseTimeline: (opts?: {
974
1213
  since?: string;
975
1214
  until?: string;
976
- userId?: string;
977
- limit?: number;
978
- trimUser?: boolean;
979
- excludeSensitive?: boolean;
1215
+ trimVisitor?: boolean;
980
1216
  }) => Endpoint;
981
- readonly archiveMonths: () => Endpoint;
982
- readonly currentContests: () => Endpoint;
983
- readonly getContestsByUser: (username: string) => Endpoint;
984
- readonly getAlbumsByMe: (includeSmartAlbums?: boolean) => Endpoint;
985
- readonly listSmartAlbumsByUser: (username: string) => Endpoint;
1217
+ readonly homeTimeline: (opts?: {
1218
+ since?: string;
1219
+ until?: string;
1220
+ trimVisitor?: boolean;
1221
+ }) => Endpoint;
1222
+ readonly trend: () => Endpoint;
1223
+ readonly richTrend: () => Endpoint;
986
1224
  };
987
1225
 
988
1226
  declare const EgeriaEndpoint: {
@@ -993,20 +1231,38 @@ declare const EgeriaEndpoint: {
993
1231
  readonly userByUsername: (username: string) => Endpoint;
994
1232
  };
995
1233
 
1234
+ declare const EpicleseEndpoint: {
1235
+ readonly getAuthors: (q?: string, platform?: string) => Endpoint;
1236
+ readonly createAuthor: (data: EpicleseCreateAuthorRequest) => Endpoint;
1237
+ readonly getPlatforms: () => Endpoint;
1238
+ readonly getPlatform: (id: string) => Endpoint;
1239
+ readonly getStatusMetadata: (statusId: string) => Endpoint;
1240
+ readonly createStatusMetadata: (statusId: string, data: EpicleseCreateStatusMetadataTagRequest[]) => Endpoint;
1241
+ readonly getWorlds: (q?: string, platform?: string, offset?: number) => Endpoint;
1242
+ readonly createWorld: (data: EpicleseCreateWorldRequest) => Endpoint;
1243
+ readonly resolveWorld: (platform: string, name: string) => Endpoint;
1244
+ };
1245
+
1246
+ declare const FeatureFlagsEndpoint: {
1247
+ readonly me: () => Endpoint;
1248
+ };
1249
+
996
1250
  declare const MediaEndpoint: {
997
- readonly download: (data: MediaDownloadRequest) => Endpoint;
1251
+ /** Gets a signed URL for uploading media (v1). */
1252
+ readonly uploadV1: () => Endpoint;
998
1253
  readonly delete: (data: MediaDeleteRequest) => Endpoint;
1254
+ /** Gets a signed URL for uploading media (v2). */
999
1255
  readonly upload: () => Endpoint;
1000
1256
  };
1001
1257
 
1002
1258
  declare const SteambirdEndpoint: {
1003
- readonly notifications: (issuer: string, opts?: {
1259
+ readonly notifications: (issuer?: string, opts?: {
1004
1260
  since?: string;
1005
1261
  until?: string;
1006
1262
  }) => Endpoint;
1007
1263
  readonly read: (id: string) => Endpoint;
1008
1264
  readonly readAll: (issuer?: string) => Endpoint;
1009
- readonly unreads: (issuers?: string[]) => Endpoint;
1265
+ readonly unreads: (issuer?: string, issuers?: string[]) => Endpoint;
1010
1266
  };
1011
1267
 
1012
1268
  declare class AuthInterceptor implements RequestInterceptor {
@@ -1031,4 +1287,4 @@ declare class LoggingInterceptor implements RequestInterceptor {
1031
1287
  retry(request: Request, error: unknown): Promise<boolean>;
1032
1288
  }
1033
1289
 
1034
- export { ApiError, AuthInterceptor, type CatalystAlbum, type CatalystAlbumDisplayMode, type CatalystAnnouncement, CatalystClient, type CatalystContest, type CatalystContestAddCollaboratorRequest, type CatalystContestAward, type CatalystContestCollaborator, type CatalystContestPolls, type CatalystContestRank, type CatalystContestRemoveCollaboratorRequest, type CatalystCreateAlbumRequest, type CatalystCreateContestRequest, type CatalystCreateFleetMedia, type CatalystCreateFleetRequest, type CatalystCreateFleetSticker, type CatalystCreateFleetText, type CatalystCreateSmartAlbumRequest, type CatalystCreateStatusRequest, type CatalystCustomReaction, type CatalystCustomReactionList, type CatalystCustomReactionStatus, type CatalystEditAlbumRequest, type CatalystEditContestRequest, type CatalystEditSmartAlbumRequest, type CatalystEditStatusRequest, CatalystEndpoint, CatalystError, type CatalystFleet, type CatalystFleetMedia, type CatalystFleetRing, type CatalystFleetSticker, type CatalystFleetText, type CatalystFleetViewer, type CatalystInsertToAlbumRequest, type CatalystMediaWithMetadata, type CatalystPrivacySettings, type CatalystPrivacySettingsRequest, type CatalystReaction, type CatalystReactions, type CatalystRelationshipRequest, type CatalystRelationships, type CatalystRemoveFromAlbumRequest, type CatalystSetContestAwardRequest, type CatalystSmartAlbum, type CatalystSmartAlbums, type CatalystStatus, type CatalystStatusPrivacy, type CatalystStatusWrapper, type CatalystStatuses, CatalystTS, type CatalystTSOptions, type CatalystUnsetContestAwardRequest, type CatalystUserCustomReaction, type CatalystUserVoteRights, EgeriaClient, EgeriaEndpoint, type EgeriaUpdateProfileRequest, type EgeriaUser, type EgeriaUserProfile, type EgeriaUserWrapper, type EgeriaUsers, type Endpoint, HttpClient, type HttpMethod, ISSUER_CATALYST_SYSTEM_MESSAGE, ISSUER_CATALYST_USER_MESSAGE, ISSUER_EGERIA_SYSTEM_MESSAGE, type Identity, LoggingInterceptor, type Media, MediaClient, type MediaDeleteRequest, type MediaDownloadRequest, MediaEndpoint, type MediaMetadata, type MediaUploadUrls, type Notification, type NotificationAdditionalContext, type NotificationGroup, type NotificationUnreadCount, type Notifications, OAuth, OAuthError, PKCE, PUBLIC_API_ENDPOINT, PUBLIC_AUTHORIZE_ENDPOINT, PUBLIC_GRAPHQL_ENDPOINT, type ProfileTag, type ProfileTagSuggestion, type ProfileTagUser, type ReportRequest, type RequestInterceptor, SteambirdClient, SteambirdEndpoint, type SupporterTier, type Token, type UpdateCustomReactionRequest, type UpdateProfileTagsRequest, UserAgentInterceptor };
1290
+ export { ApiError, AuthInterceptor, type CatalystAlbum, type CatalystAlbumBook, type CatalystAlbumBookQuality, type CatalystAlbumBookStatus, type CatalystAlbumBookTemplate, type CatalystAlbumBookTocType, type CatalystAlbumDisplayMode, type CatalystAlbumOrSmartAlbum, type CatalystAlbumOrSmartAlbums, type CatalystAlbumsWrapper, type CatalystAnnouncement, type CatalystAnnouncementsWrapper, type CatalystArchiveMonth, type CatalystArchiveMonths, CatalystClient, type CatalystContest, type CatalystContestRank, type CatalystContestState, type CatalystContestWrapper, type CatalystContestsWrapper, type CatalystCreateAlbumBookRequest, type CatalystCreateAlbumRequest, type CatalystCreateFleetMedia, type CatalystCreateFleetMediaPlacement, type CatalystCreateFleetRequest, type CatalystCreateFleetSticker, type CatalystCreateFleetText, type CatalystCreateSmartAlbumRequest, type CatalystCreateStatusRequest, type CatalystCustomReaction, type CatalystCustomReactionList, type CatalystCustomReactionStatus, type CatalystCustomReactionVisibility, type CatalystEditAlbumRequest, type CatalystEditSmartAlbumRequest, type CatalystEditStatusRequest, CatalystEndpoint, CatalystError, type CatalystFleet, type CatalystFleetMedia, type CatalystFleetRing, type CatalystFleetSticker, type CatalystFleetText, type CatalystFleetViewer, type CatalystFollowingOrFollowersList, type CatalystInsertOrRemoveStatusAlbumRequest, type CatalystInsertToAlbumRequest, type CatalystMediaWithMetadata, type CatalystMessage, type CatalystPrivacySettings, type CatalystPrivacySettingsRequest, type CatalystRandomStatusWrapper, type CatalystReaction, type CatalystReactionValue, type CatalystReactions, type CatalystRelationshipRequest, type CatalystRelationships, type CatalystRelationshipsCount, type CatalystRemoveFromAlbumRequest, type CatalystResult, type CatalystRichTrendingItem, type CatalystSmartAlbum, type CatalystSmartAlbums, type CatalystStatus, type CatalystStatusContest, type CatalystStatusPrivacy, type CatalystStatusV1Wrapper, type CatalystStatusV1_1, type CatalystStatusV1_1Wrapper, type CatalystStatusVisitor, type CatalystStatuses, type CatalystStatusesV1_1, CatalystTS, type CatalystTSOptions, type CatalystUserCustomReaction, type CatalystUserVoteRights, type CountInfo, EgeriaClient, EgeriaEndpoint, type EgeriaUpdateProfileRequest, type EgeriaUser, type EgeriaUserProfile, type EgeriaUserWrapper, type EgeriaUsers, type Endpoint, type EpicleseAuthor, type EpicleseAuthorWrapper, type EpicleseAuthorsResult, EpicleseClient, type EpicleseCreateAuthorRequest, type EpicleseCreateStatusMetadataReferenceRequest, type EpicleseCreateStatusMetadataTagRequest, type EpicleseCreateWorldRequest, EpicleseEndpoint, type EpiclesePlatform, type EpiclesePlatformWrapper, type EpiclesePlatformsWrapper, type EpicleseStatusMetadata, type EpicleseStatusMetadataReference, type EpicleseStatusMetadataTag, type EpicleseWorld, type EpicleseWorldWrapper, type EpicleseWorldsWrapper, FeatureFlagsClient, FeatureFlagsEndpoint, type FeatureFlagsResponse, HttpClient, type HttpMethod, ISSUER_CATALYST_SYSTEM_MESSAGE, ISSUER_CATALYST_USER_MESSAGE, ISSUER_EGERIA_SYSTEM_MESSAGE, type Identity, LoggingInterceptor, type Media, MediaClient, type MediaDeleteRequest, MediaEndpoint, type MediaMetadata, type MediaUploadUrls, type Notification, type NotificationAdditionalContext, type NotificationGroup, type NotificationUnreadCount, type Notifications, OAuth, OAuthError, PKCE, PUBLIC_API_ENDPOINT, PUBLIC_AUTHORIZE_ENDPOINT, PUBLIC_GRAPHQL_ENDPOINT, type PageInfo, type ProfileEmoji, type ProfileEmojiCustom, type ProfileEmojiCustomRequest, type ProfileEmojiRequest, type ProfileEmojiStandard, type ProfileEmojiStandardRequest, type ProfileTag, type ProfileTagSuggestion, type ProfileTagSuggestionsWrapper, type ProfileTagSummary, type ProfileTagUser, type ProfileTagUsersResult, type ProfileTagsWrapper, type ReportRequest, type RequestInterceptor, SteambirdClient, SteambirdEndpoint, type SupporterTier, type Token, type UpdateCustomReactionRequest, type UpdateProfileTagsRequest, UserAgentInterceptor };