@codingfactory/socialkit-vue 0.5.2 → 0.6.0

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.
@@ -0,0 +1,1418 @@
1
+ /**
2
+ * Generic content/feed store factory for SocialKit-powered frontends.
3
+ */
4
+ import type { FeedResponse } from '../types/content-api.js';
5
+ import type { Comment, ContentStoreConfig, FeedEntry, PendingPost, PendingVideoRender, Post, PostFeeling, PostMeta, PostShareType, ProcessPendingPostResult, RecoverablePendingDraft, ScheduledPostsPage } from '../types/content.js';
6
+ import type { LocalMediaItem } from '../types/media.js';
7
+ type FeedMode = 'following' | 'for_you' | 'discover';
8
+ export type ContentStoreReturn = ReturnType<ReturnType<typeof createContentStoreDefinition>>;
9
+ export declare function createContentStoreDefinition(config: ContentStoreConfig): import("pinia").StoreDefinition<string, Pick<{
10
+ entries: import("vue").Ref<{
11
+ [x: string]: unknown;
12
+ id?: string | undefined;
13
+ entity_id: string;
14
+ entity_type: string;
15
+ created_at?: string | undefined;
16
+ activity_type?: string | undefined;
17
+ actor_id?: string | undefined;
18
+ owner_user_id?: string | undefined;
19
+ visibility?: string | undefined;
20
+ is_hidden?: boolean | undefined;
21
+ post?: {
22
+ _isPending?: boolean | undefined;
23
+ _tempId?: string | undefined;
24
+ body: string;
25
+ share_type?: PostShareType | undefined;
26
+ quoted_post_id?: string | null | undefined;
27
+ quoted_post?: {
28
+ id: string;
29
+ body: string;
30
+ author?: {
31
+ id: string;
32
+ name: string;
33
+ avatar?: string | null | undefined;
34
+ username?: string | null | undefined;
35
+ handle?: string | null | undefined;
36
+ } | null | undefined;
37
+ author_id?: string | undefined;
38
+ created_at?: string | undefined;
39
+ } | null | undefined;
40
+ content_warning?: string | null | undefined;
41
+ sensitive?: boolean | undefined;
42
+ author: {
43
+ id: string;
44
+ name: string;
45
+ avatar?: string | null | undefined;
46
+ username?: string | null | undefined;
47
+ handle?: string | null | undefined;
48
+ };
49
+ author_id: string;
50
+ reactions_count: number;
51
+ comments_count: number;
52
+ user_has_reacted: boolean;
53
+ user_has_reposted?: boolean | undefined;
54
+ user_repost_id?: string | null | undefined;
55
+ visibility?: "public" | "private" | "friends" | undefined;
56
+ media?: {
57
+ id?: string | undefined;
58
+ uuid?: string | undefined;
59
+ mime_type?: string | undefined;
60
+ url?: string | undefined;
61
+ thumb_url?: string | undefined;
62
+ preview_url?: string | undefined;
63
+ playback_url?: string | undefined;
64
+ thumbnail_url?: string | undefined;
65
+ urls?: {
66
+ original?: string | undefined;
67
+ thumb?: string | undefined;
68
+ thumbnail?: string | undefined;
69
+ preview?: string | undefined;
70
+ } | undefined;
71
+ type?: "image" | "video" | undefined;
72
+ alt_text?: string | undefined;
73
+ width?: number | undefined;
74
+ height?: number | undefined;
75
+ responsive?: {
76
+ preview?: {
77
+ srcset?: string | undefined;
78
+ } | undefined;
79
+ original?: {
80
+ srcset?: string | undefined;
81
+ } | undefined;
82
+ } | undefined;
83
+ processing_status?: import("../index.js").VideoRenderStatus | undefined;
84
+ video_render_status?: import("../index.js").VideoRenderStatus | undefined;
85
+ video_render_progress?: number | undefined;
86
+ video_render_error?: string | null | undefined;
87
+ video_render_job_id?: string | null | undefined;
88
+ source_media_id?: string | undefined;
89
+ output_media_id?: string | undefined;
90
+ provider?: string | undefined;
91
+ provider_asset_id?: string | undefined;
92
+ provider_library_id?: string | undefined;
93
+ duration?: number | undefined;
94
+ aspect_ratio?: string | undefined;
95
+ }[] | undefined;
96
+ meta?: {
97
+ [x: string]: unknown;
98
+ live_viewers?: number | null | undefined;
99
+ feeling?: {
100
+ type: import("../index.js").PostFeelingType;
101
+ value: import("../index.js").PostFeelingValue;
102
+ } | null | undefined;
103
+ } | undefined;
104
+ live_viewers?: number | null | undefined;
105
+ is_quarantined?: boolean | undefined;
106
+ published_site_names?: string[] | null | undefined;
107
+ id: string;
108
+ created_at: string;
109
+ updated_at?: string | undefined;
110
+ } | null | undefined;
111
+ thread?: {
112
+ id: string;
113
+ space_id: string;
114
+ slug: string;
115
+ title: string;
116
+ body?: string | null | undefined;
117
+ reply_count: number;
118
+ author_id: string;
119
+ author?: {
120
+ id: string;
121
+ name: string;
122
+ handle?: string | undefined;
123
+ avatar_url?: string | null | undefined;
124
+ avatar?: unknown;
125
+ } | null | undefined;
126
+ created_at: string;
127
+ tags?: {
128
+ id: string;
129
+ slug: string;
130
+ label: string;
131
+ }[] | undefined;
132
+ } | null | undefined;
133
+ album?: {
134
+ id: string;
135
+ name: string;
136
+ description?: string | null | undefined;
137
+ media_count: number;
138
+ owner: {
139
+ id: string;
140
+ type: string;
141
+ name?: string | undefined;
142
+ avatar_url?: string | null | undefined;
143
+ };
144
+ cover_media?: {
145
+ uuid: string;
146
+ urls: {
147
+ thumb?: string | undefined;
148
+ preview?: string | undefined;
149
+ original?: string | undefined;
150
+ };
151
+ } | null | undefined;
152
+ created_at?: string | null | undefined;
153
+ } | null | undefined;
154
+ }[], FeedEntry[] | {
155
+ [x: string]: unknown;
156
+ id?: string | undefined;
157
+ entity_id: string;
158
+ entity_type: string;
159
+ created_at?: string | undefined;
160
+ activity_type?: string | undefined;
161
+ actor_id?: string | undefined;
162
+ owner_user_id?: string | undefined;
163
+ visibility?: string | undefined;
164
+ is_hidden?: boolean | undefined;
165
+ post?: {
166
+ _isPending?: boolean | undefined;
167
+ _tempId?: string | undefined;
168
+ body: string;
169
+ share_type?: PostShareType | undefined;
170
+ quoted_post_id?: string | null | undefined;
171
+ quoted_post?: {
172
+ id: string;
173
+ body: string;
174
+ author?: {
175
+ id: string;
176
+ name: string;
177
+ avatar?: string | null | undefined;
178
+ username?: string | null | undefined;
179
+ handle?: string | null | undefined;
180
+ } | null | undefined;
181
+ author_id?: string | undefined;
182
+ created_at?: string | undefined;
183
+ } | null | undefined;
184
+ content_warning?: string | null | undefined;
185
+ sensitive?: boolean | undefined;
186
+ author: {
187
+ id: string;
188
+ name: string;
189
+ avatar?: string | null | undefined;
190
+ username?: string | null | undefined;
191
+ handle?: string | null | undefined;
192
+ };
193
+ author_id: string;
194
+ reactions_count: number;
195
+ comments_count: number;
196
+ user_has_reacted: boolean;
197
+ user_has_reposted?: boolean | undefined;
198
+ user_repost_id?: string | null | undefined;
199
+ visibility?: "public" | "private" | "friends" | undefined;
200
+ media?: {
201
+ id?: string | undefined;
202
+ uuid?: string | undefined;
203
+ mime_type?: string | undefined;
204
+ url?: string | undefined;
205
+ thumb_url?: string | undefined;
206
+ preview_url?: string | undefined;
207
+ playback_url?: string | undefined;
208
+ thumbnail_url?: string | undefined;
209
+ urls?: {
210
+ original?: string | undefined;
211
+ thumb?: string | undefined;
212
+ thumbnail?: string | undefined;
213
+ preview?: string | undefined;
214
+ } | undefined;
215
+ type?: "image" | "video" | undefined;
216
+ alt_text?: string | undefined;
217
+ width?: number | undefined;
218
+ height?: number | undefined;
219
+ responsive?: {
220
+ preview?: {
221
+ srcset?: string | undefined;
222
+ } | undefined;
223
+ original?: {
224
+ srcset?: string | undefined;
225
+ } | undefined;
226
+ } | undefined;
227
+ processing_status?: import("../index.js").VideoRenderStatus | undefined;
228
+ video_render_status?: import("../index.js").VideoRenderStatus | undefined;
229
+ video_render_progress?: number | undefined;
230
+ video_render_error?: string | null | undefined;
231
+ video_render_job_id?: string | null | undefined;
232
+ source_media_id?: string | undefined;
233
+ output_media_id?: string | undefined;
234
+ provider?: string | undefined;
235
+ provider_asset_id?: string | undefined;
236
+ provider_library_id?: string | undefined;
237
+ duration?: number | undefined;
238
+ aspect_ratio?: string | undefined;
239
+ }[] | undefined;
240
+ meta?: {
241
+ [x: string]: unknown;
242
+ live_viewers?: number | null | undefined;
243
+ feeling?: {
244
+ type: import("../index.js").PostFeelingType;
245
+ value: import("../index.js").PostFeelingValue;
246
+ } | null | undefined;
247
+ } | undefined;
248
+ live_viewers?: number | null | undefined;
249
+ is_quarantined?: boolean | undefined;
250
+ published_site_names?: string[] | null | undefined;
251
+ id: string;
252
+ created_at: string;
253
+ updated_at?: string | undefined;
254
+ } | null | undefined;
255
+ thread?: {
256
+ id: string;
257
+ space_id: string;
258
+ slug: string;
259
+ title: string;
260
+ body?: string | null | undefined;
261
+ reply_count: number;
262
+ author_id: string;
263
+ author?: {
264
+ id: string;
265
+ name: string;
266
+ handle?: string | undefined;
267
+ avatar_url?: string | null | undefined;
268
+ avatar?: unknown;
269
+ } | null | undefined;
270
+ created_at: string;
271
+ tags?: {
272
+ id: string;
273
+ slug: string;
274
+ label: string;
275
+ }[] | undefined;
276
+ } | null | undefined;
277
+ album?: {
278
+ id: string;
279
+ name: string;
280
+ description?: string | null | undefined;
281
+ media_count: number;
282
+ owner: {
283
+ id: string;
284
+ type: string;
285
+ name?: string | undefined;
286
+ avatar_url?: string | null | undefined;
287
+ };
288
+ cover_media?: {
289
+ uuid: string;
290
+ urls: {
291
+ thumb?: string | undefined;
292
+ preview?: string | undefined;
293
+ original?: string | undefined;
294
+ };
295
+ } | null | undefined;
296
+ created_at?: string | null | undefined;
297
+ } | null | undefined;
298
+ }[]>;
299
+ nextCursor: import("vue").Ref<string | null, string | null>;
300
+ loading: import("vue").Ref<boolean, boolean>;
301
+ error: import("vue").Ref<string | null, string | null>;
302
+ pendingPosts: import("vue").Ref<{
303
+ tempId: string;
304
+ body: string;
305
+ share_type?: PostShareType | undefined;
306
+ quoted_post_id?: string | undefined | undefined;
307
+ visibility: string;
308
+ content_warning?: string | undefined | undefined;
309
+ meta?: {
310
+ [x: string]: unknown;
311
+ live_viewers?: number | null | undefined;
312
+ feeling?: {
313
+ type: import("../index.js").PostFeelingType;
314
+ value: import("../index.js").PostFeelingValue;
315
+ } | null | undefined;
316
+ } | undefined;
317
+ media_ids?: string[] | undefined | undefined;
318
+ mediaItems?: {
319
+ id?: string | undefined;
320
+ previewUrl: string;
321
+ file?: {
322
+ readonly lastModified: number;
323
+ readonly name: string;
324
+ readonly webkitRelativePath: string;
325
+ readonly size: number;
326
+ readonly type: string;
327
+ arrayBuffer: () => Promise<ArrayBuffer>;
328
+ bytes: () => Promise<Uint8Array>;
329
+ slice: (start?: number, end?: number, contentType?: string) => Blob;
330
+ stream: () => ReadableStream<Uint8Array>;
331
+ text: () => Promise<string>;
332
+ } | undefined;
333
+ mimeType: string;
334
+ name: string;
335
+ size: number;
336
+ status: "pending" | "uploading" | "uploaded" | "failed";
337
+ error?: string | undefined;
338
+ }[] | undefined;
339
+ hadUnuploadedMedia?: boolean | undefined | undefined;
340
+ container_type?: string | undefined | undefined;
341
+ container_id?: string | undefined | undefined;
342
+ pendingVideoRenders?: {
343
+ sourceMediaUuid: string;
344
+ renderJobId: string | null;
345
+ }[] | undefined;
346
+ status: import("../index.js").PendingPostStatus;
347
+ createdAt: string;
348
+ retryCount: number;
349
+ error?: string | undefined | undefined;
350
+ }[], PendingPost[] | {
351
+ tempId: string;
352
+ body: string;
353
+ share_type?: PostShareType | undefined;
354
+ quoted_post_id?: string | undefined | undefined;
355
+ visibility: string;
356
+ content_warning?: string | undefined | undefined;
357
+ meta?: {
358
+ [x: string]: unknown;
359
+ live_viewers?: number | null | undefined;
360
+ feeling?: {
361
+ type: import("../index.js").PostFeelingType;
362
+ value: import("../index.js").PostFeelingValue;
363
+ } | null | undefined;
364
+ } | undefined;
365
+ media_ids?: string[] | undefined | undefined;
366
+ mediaItems?: {
367
+ id?: string | undefined;
368
+ previewUrl: string;
369
+ file?: {
370
+ readonly lastModified: number;
371
+ readonly name: string;
372
+ readonly webkitRelativePath: string;
373
+ readonly size: number;
374
+ readonly type: string;
375
+ arrayBuffer: () => Promise<ArrayBuffer>;
376
+ bytes: () => Promise<Uint8Array>;
377
+ slice: (start?: number, end?: number, contentType?: string) => Blob;
378
+ stream: () => ReadableStream<Uint8Array>;
379
+ text: () => Promise<string>;
380
+ } | undefined;
381
+ mimeType: string;
382
+ name: string;
383
+ size: number;
384
+ status: "pending" | "uploading" | "uploaded" | "failed";
385
+ error?: string | undefined;
386
+ }[] | undefined;
387
+ hadUnuploadedMedia?: boolean | undefined | undefined;
388
+ container_type?: string | undefined | undefined;
389
+ container_id?: string | undefined | undefined;
390
+ pendingVideoRenders?: {
391
+ sourceMediaUuid: string;
392
+ renderJobId: string | null;
393
+ }[] | undefined;
394
+ status: import("../index.js").PendingPostStatus;
395
+ createdAt: string;
396
+ retryCount: number;
397
+ error?: string | undefined | undefined;
398
+ }[]>;
399
+ composerFeeling: import("vue").Ref<{
400
+ type: import("../index.js").PostFeelingType;
401
+ value: import("../index.js").PostFeelingValue;
402
+ } | null, PostFeeling | {
403
+ type: import("../index.js").PostFeelingType;
404
+ value: import("../index.js").PostFeelingValue;
405
+ } | null>;
406
+ feedMode: import("vue").Ref<FeedMode, FeedMode>;
407
+ hasPendingPosts: import("vue").ComputedRef<boolean>;
408
+ PAGE_SIZE: number;
409
+ loadFeed: (cursor?: string) => Promise<FeedResponse>;
410
+ loadUserPosts: (userId: string, cursor?: string) => Promise<FeedResponse>;
411
+ loadMore: () => Promise<FeedResponse>;
412
+ setFeedMode: (mode: FeedMode) => void;
413
+ createPost: (input: {
414
+ body: string;
415
+ share_type?: PostShareType;
416
+ quoted_post_id?: string;
417
+ visibility?: string;
418
+ content_warning?: string;
419
+ meta?: PostMeta;
420
+ media_ids?: string[];
421
+ media_urls?: string[];
422
+ }) => Promise<{
423
+ data: Post;
424
+ }>;
425
+ updatePost: (postId: string, input: {
426
+ body?: string;
427
+ visibility?: string;
428
+ content_warning?: string | null;
429
+ }) => Promise<{
430
+ data: Post;
431
+ }>;
432
+ deletePost: (postId: string) => Promise<boolean>;
433
+ loadScheduledPosts: (cursor?: string) => Promise<ScheduledPostsPage>;
434
+ cancelScheduledPost: (id: string) => Promise<void>;
435
+ enqueuePost: (input: {
436
+ body: string;
437
+ share_type?: PostShareType;
438
+ quoted_post_id?: string;
439
+ visibility?: string;
440
+ content_warning?: string;
441
+ meta?: PostMeta;
442
+ media_ids?: string[];
443
+ mediaItems?: LocalMediaItem[];
444
+ container_type?: string;
445
+ container_id?: string;
446
+ pendingVideoRenders?: PendingVideoRender[];
447
+ }) => PendingPost;
448
+ processPendingPost: (tempId: string) => Promise<ProcessPendingPostResult>;
449
+ retryPendingPost: (tempId: string) => Promise<void>;
450
+ cancelPendingPost: (tempId: string) => void;
451
+ claimLostMediaDraft: () => RecoverablePendingDraft | null;
452
+ setComposerFeeling: (feeling: PostFeeling | null) => void;
453
+ claimComposerFeeling: () => PostFeeling | null;
454
+ restorePendingPosts: () => void;
455
+ resetForLogout: () => void;
456
+ updatePostMediaProcessingStatus: (input: {
457
+ postId: string;
458
+ sourceMediaUuid: string;
459
+ status: "ready" | "failed";
460
+ outputMediaId?: string | null;
461
+ playbackUrl?: string | null;
462
+ thumbnailUrl?: string | null;
463
+ errorMessage?: string | null;
464
+ }) => void;
465
+ toggleReaction: (postId: string, _action: "like" | "unlike") => Promise<{
466
+ data: {
467
+ added: boolean;
468
+ };
469
+ }>;
470
+ loadComments: (postId: string, cursor?: string) => Promise<{
471
+ data: Comment[];
472
+ }>;
473
+ addComment: (postId: string, input: {
474
+ body: string;
475
+ }) => Promise<{
476
+ data: Comment;
477
+ }>;
478
+ }, "error" | "entries" | "loading" | "nextCursor" | "pendingPosts" | "composerFeeling" | "feedMode" | "PAGE_SIZE">, Pick<{
479
+ entries: import("vue").Ref<{
480
+ [x: string]: unknown;
481
+ id?: string | undefined;
482
+ entity_id: string;
483
+ entity_type: string;
484
+ created_at?: string | undefined;
485
+ activity_type?: string | undefined;
486
+ actor_id?: string | undefined;
487
+ owner_user_id?: string | undefined;
488
+ visibility?: string | undefined;
489
+ is_hidden?: boolean | undefined;
490
+ post?: {
491
+ _isPending?: boolean | undefined;
492
+ _tempId?: string | undefined;
493
+ body: string;
494
+ share_type?: PostShareType | undefined;
495
+ quoted_post_id?: string | null | undefined;
496
+ quoted_post?: {
497
+ id: string;
498
+ body: string;
499
+ author?: {
500
+ id: string;
501
+ name: string;
502
+ avatar?: string | null | undefined;
503
+ username?: string | null | undefined;
504
+ handle?: string | null | undefined;
505
+ } | null | undefined;
506
+ author_id?: string | undefined;
507
+ created_at?: string | undefined;
508
+ } | null | undefined;
509
+ content_warning?: string | null | undefined;
510
+ sensitive?: boolean | undefined;
511
+ author: {
512
+ id: string;
513
+ name: string;
514
+ avatar?: string | null | undefined;
515
+ username?: string | null | undefined;
516
+ handle?: string | null | undefined;
517
+ };
518
+ author_id: string;
519
+ reactions_count: number;
520
+ comments_count: number;
521
+ user_has_reacted: boolean;
522
+ user_has_reposted?: boolean | undefined;
523
+ user_repost_id?: string | null | undefined;
524
+ visibility?: "public" | "private" | "friends" | undefined;
525
+ media?: {
526
+ id?: string | undefined;
527
+ uuid?: string | undefined;
528
+ mime_type?: string | undefined;
529
+ url?: string | undefined;
530
+ thumb_url?: string | undefined;
531
+ preview_url?: string | undefined;
532
+ playback_url?: string | undefined;
533
+ thumbnail_url?: string | undefined;
534
+ urls?: {
535
+ original?: string | undefined;
536
+ thumb?: string | undefined;
537
+ thumbnail?: string | undefined;
538
+ preview?: string | undefined;
539
+ } | undefined;
540
+ type?: "image" | "video" | undefined;
541
+ alt_text?: string | undefined;
542
+ width?: number | undefined;
543
+ height?: number | undefined;
544
+ responsive?: {
545
+ preview?: {
546
+ srcset?: string | undefined;
547
+ } | undefined;
548
+ original?: {
549
+ srcset?: string | undefined;
550
+ } | undefined;
551
+ } | undefined;
552
+ processing_status?: import("../index.js").VideoRenderStatus | undefined;
553
+ video_render_status?: import("../index.js").VideoRenderStatus | undefined;
554
+ video_render_progress?: number | undefined;
555
+ video_render_error?: string | null | undefined;
556
+ video_render_job_id?: string | null | undefined;
557
+ source_media_id?: string | undefined;
558
+ output_media_id?: string | undefined;
559
+ provider?: string | undefined;
560
+ provider_asset_id?: string | undefined;
561
+ provider_library_id?: string | undefined;
562
+ duration?: number | undefined;
563
+ aspect_ratio?: string | undefined;
564
+ }[] | undefined;
565
+ meta?: {
566
+ [x: string]: unknown;
567
+ live_viewers?: number | null | undefined;
568
+ feeling?: {
569
+ type: import("../index.js").PostFeelingType;
570
+ value: import("../index.js").PostFeelingValue;
571
+ } | null | undefined;
572
+ } | undefined;
573
+ live_viewers?: number | null | undefined;
574
+ is_quarantined?: boolean | undefined;
575
+ published_site_names?: string[] | null | undefined;
576
+ id: string;
577
+ created_at: string;
578
+ updated_at?: string | undefined;
579
+ } | null | undefined;
580
+ thread?: {
581
+ id: string;
582
+ space_id: string;
583
+ slug: string;
584
+ title: string;
585
+ body?: string | null | undefined;
586
+ reply_count: number;
587
+ author_id: string;
588
+ author?: {
589
+ id: string;
590
+ name: string;
591
+ handle?: string | undefined;
592
+ avatar_url?: string | null | undefined;
593
+ avatar?: unknown;
594
+ } | null | undefined;
595
+ created_at: string;
596
+ tags?: {
597
+ id: string;
598
+ slug: string;
599
+ label: string;
600
+ }[] | undefined;
601
+ } | null | undefined;
602
+ album?: {
603
+ id: string;
604
+ name: string;
605
+ description?: string | null | undefined;
606
+ media_count: number;
607
+ owner: {
608
+ id: string;
609
+ type: string;
610
+ name?: string | undefined;
611
+ avatar_url?: string | null | undefined;
612
+ };
613
+ cover_media?: {
614
+ uuid: string;
615
+ urls: {
616
+ thumb?: string | undefined;
617
+ preview?: string | undefined;
618
+ original?: string | undefined;
619
+ };
620
+ } | null | undefined;
621
+ created_at?: string | null | undefined;
622
+ } | null | undefined;
623
+ }[], FeedEntry[] | {
624
+ [x: string]: unknown;
625
+ id?: string | undefined;
626
+ entity_id: string;
627
+ entity_type: string;
628
+ created_at?: string | undefined;
629
+ activity_type?: string | undefined;
630
+ actor_id?: string | undefined;
631
+ owner_user_id?: string | undefined;
632
+ visibility?: string | undefined;
633
+ is_hidden?: boolean | undefined;
634
+ post?: {
635
+ _isPending?: boolean | undefined;
636
+ _tempId?: string | undefined;
637
+ body: string;
638
+ share_type?: PostShareType | undefined;
639
+ quoted_post_id?: string | null | undefined;
640
+ quoted_post?: {
641
+ id: string;
642
+ body: string;
643
+ author?: {
644
+ id: string;
645
+ name: string;
646
+ avatar?: string | null | undefined;
647
+ username?: string | null | undefined;
648
+ handle?: string | null | undefined;
649
+ } | null | undefined;
650
+ author_id?: string | undefined;
651
+ created_at?: string | undefined;
652
+ } | null | undefined;
653
+ content_warning?: string | null | undefined;
654
+ sensitive?: boolean | undefined;
655
+ author: {
656
+ id: string;
657
+ name: string;
658
+ avatar?: string | null | undefined;
659
+ username?: string | null | undefined;
660
+ handle?: string | null | undefined;
661
+ };
662
+ author_id: string;
663
+ reactions_count: number;
664
+ comments_count: number;
665
+ user_has_reacted: boolean;
666
+ user_has_reposted?: boolean | undefined;
667
+ user_repost_id?: string | null | undefined;
668
+ visibility?: "public" | "private" | "friends" | undefined;
669
+ media?: {
670
+ id?: string | undefined;
671
+ uuid?: string | undefined;
672
+ mime_type?: string | undefined;
673
+ url?: string | undefined;
674
+ thumb_url?: string | undefined;
675
+ preview_url?: string | undefined;
676
+ playback_url?: string | undefined;
677
+ thumbnail_url?: string | undefined;
678
+ urls?: {
679
+ original?: string | undefined;
680
+ thumb?: string | undefined;
681
+ thumbnail?: string | undefined;
682
+ preview?: string | undefined;
683
+ } | undefined;
684
+ type?: "image" | "video" | undefined;
685
+ alt_text?: string | undefined;
686
+ width?: number | undefined;
687
+ height?: number | undefined;
688
+ responsive?: {
689
+ preview?: {
690
+ srcset?: string | undefined;
691
+ } | undefined;
692
+ original?: {
693
+ srcset?: string | undefined;
694
+ } | undefined;
695
+ } | undefined;
696
+ processing_status?: import("../index.js").VideoRenderStatus | undefined;
697
+ video_render_status?: import("../index.js").VideoRenderStatus | undefined;
698
+ video_render_progress?: number | undefined;
699
+ video_render_error?: string | null | undefined;
700
+ video_render_job_id?: string | null | undefined;
701
+ source_media_id?: string | undefined;
702
+ output_media_id?: string | undefined;
703
+ provider?: string | undefined;
704
+ provider_asset_id?: string | undefined;
705
+ provider_library_id?: string | undefined;
706
+ duration?: number | undefined;
707
+ aspect_ratio?: string | undefined;
708
+ }[] | undefined;
709
+ meta?: {
710
+ [x: string]: unknown;
711
+ live_viewers?: number | null | undefined;
712
+ feeling?: {
713
+ type: import("../index.js").PostFeelingType;
714
+ value: import("../index.js").PostFeelingValue;
715
+ } | null | undefined;
716
+ } | undefined;
717
+ live_viewers?: number | null | undefined;
718
+ is_quarantined?: boolean | undefined;
719
+ published_site_names?: string[] | null | undefined;
720
+ id: string;
721
+ created_at: string;
722
+ updated_at?: string | undefined;
723
+ } | null | undefined;
724
+ thread?: {
725
+ id: string;
726
+ space_id: string;
727
+ slug: string;
728
+ title: string;
729
+ body?: string | null | undefined;
730
+ reply_count: number;
731
+ author_id: string;
732
+ author?: {
733
+ id: string;
734
+ name: string;
735
+ handle?: string | undefined;
736
+ avatar_url?: string | null | undefined;
737
+ avatar?: unknown;
738
+ } | null | undefined;
739
+ created_at: string;
740
+ tags?: {
741
+ id: string;
742
+ slug: string;
743
+ label: string;
744
+ }[] | undefined;
745
+ } | null | undefined;
746
+ album?: {
747
+ id: string;
748
+ name: string;
749
+ description?: string | null | undefined;
750
+ media_count: number;
751
+ owner: {
752
+ id: string;
753
+ type: string;
754
+ name?: string | undefined;
755
+ avatar_url?: string | null | undefined;
756
+ };
757
+ cover_media?: {
758
+ uuid: string;
759
+ urls: {
760
+ thumb?: string | undefined;
761
+ preview?: string | undefined;
762
+ original?: string | undefined;
763
+ };
764
+ } | null | undefined;
765
+ created_at?: string | null | undefined;
766
+ } | null | undefined;
767
+ }[]>;
768
+ nextCursor: import("vue").Ref<string | null, string | null>;
769
+ loading: import("vue").Ref<boolean, boolean>;
770
+ error: import("vue").Ref<string | null, string | null>;
771
+ pendingPosts: import("vue").Ref<{
772
+ tempId: string;
773
+ body: string;
774
+ share_type?: PostShareType | undefined;
775
+ quoted_post_id?: string | undefined | undefined;
776
+ visibility: string;
777
+ content_warning?: string | undefined | undefined;
778
+ meta?: {
779
+ [x: string]: unknown;
780
+ live_viewers?: number | null | undefined;
781
+ feeling?: {
782
+ type: import("../index.js").PostFeelingType;
783
+ value: import("../index.js").PostFeelingValue;
784
+ } | null | undefined;
785
+ } | undefined;
786
+ media_ids?: string[] | undefined | undefined;
787
+ mediaItems?: {
788
+ id?: string | undefined;
789
+ previewUrl: string;
790
+ file?: {
791
+ readonly lastModified: number;
792
+ readonly name: string;
793
+ readonly webkitRelativePath: string;
794
+ readonly size: number;
795
+ readonly type: string;
796
+ arrayBuffer: () => Promise<ArrayBuffer>;
797
+ bytes: () => Promise<Uint8Array>;
798
+ slice: (start?: number, end?: number, contentType?: string) => Blob;
799
+ stream: () => ReadableStream<Uint8Array>;
800
+ text: () => Promise<string>;
801
+ } | undefined;
802
+ mimeType: string;
803
+ name: string;
804
+ size: number;
805
+ status: "pending" | "uploading" | "uploaded" | "failed";
806
+ error?: string | undefined;
807
+ }[] | undefined;
808
+ hadUnuploadedMedia?: boolean | undefined | undefined;
809
+ container_type?: string | undefined | undefined;
810
+ container_id?: string | undefined | undefined;
811
+ pendingVideoRenders?: {
812
+ sourceMediaUuid: string;
813
+ renderJobId: string | null;
814
+ }[] | undefined;
815
+ status: import("../index.js").PendingPostStatus;
816
+ createdAt: string;
817
+ retryCount: number;
818
+ error?: string | undefined | undefined;
819
+ }[], PendingPost[] | {
820
+ tempId: string;
821
+ body: string;
822
+ share_type?: PostShareType | undefined;
823
+ quoted_post_id?: string | undefined | undefined;
824
+ visibility: string;
825
+ content_warning?: string | undefined | undefined;
826
+ meta?: {
827
+ [x: string]: unknown;
828
+ live_viewers?: number | null | undefined;
829
+ feeling?: {
830
+ type: import("../index.js").PostFeelingType;
831
+ value: import("../index.js").PostFeelingValue;
832
+ } | null | undefined;
833
+ } | undefined;
834
+ media_ids?: string[] | undefined | undefined;
835
+ mediaItems?: {
836
+ id?: string | undefined;
837
+ previewUrl: string;
838
+ file?: {
839
+ readonly lastModified: number;
840
+ readonly name: string;
841
+ readonly webkitRelativePath: string;
842
+ readonly size: number;
843
+ readonly type: string;
844
+ arrayBuffer: () => Promise<ArrayBuffer>;
845
+ bytes: () => Promise<Uint8Array>;
846
+ slice: (start?: number, end?: number, contentType?: string) => Blob;
847
+ stream: () => ReadableStream<Uint8Array>;
848
+ text: () => Promise<string>;
849
+ } | undefined;
850
+ mimeType: string;
851
+ name: string;
852
+ size: number;
853
+ status: "pending" | "uploading" | "uploaded" | "failed";
854
+ error?: string | undefined;
855
+ }[] | undefined;
856
+ hadUnuploadedMedia?: boolean | undefined | undefined;
857
+ container_type?: string | undefined | undefined;
858
+ container_id?: string | undefined | undefined;
859
+ pendingVideoRenders?: {
860
+ sourceMediaUuid: string;
861
+ renderJobId: string | null;
862
+ }[] | undefined;
863
+ status: import("../index.js").PendingPostStatus;
864
+ createdAt: string;
865
+ retryCount: number;
866
+ error?: string | undefined | undefined;
867
+ }[]>;
868
+ composerFeeling: import("vue").Ref<{
869
+ type: import("../index.js").PostFeelingType;
870
+ value: import("../index.js").PostFeelingValue;
871
+ } | null, PostFeeling | {
872
+ type: import("../index.js").PostFeelingType;
873
+ value: import("../index.js").PostFeelingValue;
874
+ } | null>;
875
+ feedMode: import("vue").Ref<FeedMode, FeedMode>;
876
+ hasPendingPosts: import("vue").ComputedRef<boolean>;
877
+ PAGE_SIZE: number;
878
+ loadFeed: (cursor?: string) => Promise<FeedResponse>;
879
+ loadUserPosts: (userId: string, cursor?: string) => Promise<FeedResponse>;
880
+ loadMore: () => Promise<FeedResponse>;
881
+ setFeedMode: (mode: FeedMode) => void;
882
+ createPost: (input: {
883
+ body: string;
884
+ share_type?: PostShareType;
885
+ quoted_post_id?: string;
886
+ visibility?: string;
887
+ content_warning?: string;
888
+ meta?: PostMeta;
889
+ media_ids?: string[];
890
+ media_urls?: string[];
891
+ }) => Promise<{
892
+ data: Post;
893
+ }>;
894
+ updatePost: (postId: string, input: {
895
+ body?: string;
896
+ visibility?: string;
897
+ content_warning?: string | null;
898
+ }) => Promise<{
899
+ data: Post;
900
+ }>;
901
+ deletePost: (postId: string) => Promise<boolean>;
902
+ loadScheduledPosts: (cursor?: string) => Promise<ScheduledPostsPage>;
903
+ cancelScheduledPost: (id: string) => Promise<void>;
904
+ enqueuePost: (input: {
905
+ body: string;
906
+ share_type?: PostShareType;
907
+ quoted_post_id?: string;
908
+ visibility?: string;
909
+ content_warning?: string;
910
+ meta?: PostMeta;
911
+ media_ids?: string[];
912
+ mediaItems?: LocalMediaItem[];
913
+ container_type?: string;
914
+ container_id?: string;
915
+ pendingVideoRenders?: PendingVideoRender[];
916
+ }) => PendingPost;
917
+ processPendingPost: (tempId: string) => Promise<ProcessPendingPostResult>;
918
+ retryPendingPost: (tempId: string) => Promise<void>;
919
+ cancelPendingPost: (tempId: string) => void;
920
+ claimLostMediaDraft: () => RecoverablePendingDraft | null;
921
+ setComposerFeeling: (feeling: PostFeeling | null) => void;
922
+ claimComposerFeeling: () => PostFeeling | null;
923
+ restorePendingPosts: () => void;
924
+ resetForLogout: () => void;
925
+ updatePostMediaProcessingStatus: (input: {
926
+ postId: string;
927
+ sourceMediaUuid: string;
928
+ status: "ready" | "failed";
929
+ outputMediaId?: string | null;
930
+ playbackUrl?: string | null;
931
+ thumbnailUrl?: string | null;
932
+ errorMessage?: string | null;
933
+ }) => void;
934
+ toggleReaction: (postId: string, _action: "like" | "unlike") => Promise<{
935
+ data: {
936
+ added: boolean;
937
+ };
938
+ }>;
939
+ loadComments: (postId: string, cursor?: string) => Promise<{
940
+ data: Comment[];
941
+ }>;
942
+ addComment: (postId: string, input: {
943
+ body: string;
944
+ }) => Promise<{
945
+ data: Comment;
946
+ }>;
947
+ }, "hasPendingPosts">, Pick<{
948
+ entries: import("vue").Ref<{
949
+ [x: string]: unknown;
950
+ id?: string | undefined;
951
+ entity_id: string;
952
+ entity_type: string;
953
+ created_at?: string | undefined;
954
+ activity_type?: string | undefined;
955
+ actor_id?: string | undefined;
956
+ owner_user_id?: string | undefined;
957
+ visibility?: string | undefined;
958
+ is_hidden?: boolean | undefined;
959
+ post?: {
960
+ _isPending?: boolean | undefined;
961
+ _tempId?: string | undefined;
962
+ body: string;
963
+ share_type?: PostShareType | undefined;
964
+ quoted_post_id?: string | null | undefined;
965
+ quoted_post?: {
966
+ id: string;
967
+ body: string;
968
+ author?: {
969
+ id: string;
970
+ name: string;
971
+ avatar?: string | null | undefined;
972
+ username?: string | null | undefined;
973
+ handle?: string | null | undefined;
974
+ } | null | undefined;
975
+ author_id?: string | undefined;
976
+ created_at?: string | undefined;
977
+ } | null | undefined;
978
+ content_warning?: string | null | undefined;
979
+ sensitive?: boolean | undefined;
980
+ author: {
981
+ id: string;
982
+ name: string;
983
+ avatar?: string | null | undefined;
984
+ username?: string | null | undefined;
985
+ handle?: string | null | undefined;
986
+ };
987
+ author_id: string;
988
+ reactions_count: number;
989
+ comments_count: number;
990
+ user_has_reacted: boolean;
991
+ user_has_reposted?: boolean | undefined;
992
+ user_repost_id?: string | null | undefined;
993
+ visibility?: "public" | "private" | "friends" | undefined;
994
+ media?: {
995
+ id?: string | undefined;
996
+ uuid?: string | undefined;
997
+ mime_type?: string | undefined;
998
+ url?: string | undefined;
999
+ thumb_url?: string | undefined;
1000
+ preview_url?: string | undefined;
1001
+ playback_url?: string | undefined;
1002
+ thumbnail_url?: string | undefined;
1003
+ urls?: {
1004
+ original?: string | undefined;
1005
+ thumb?: string | undefined;
1006
+ thumbnail?: string | undefined;
1007
+ preview?: string | undefined;
1008
+ } | undefined;
1009
+ type?: "image" | "video" | undefined;
1010
+ alt_text?: string | undefined;
1011
+ width?: number | undefined;
1012
+ height?: number | undefined;
1013
+ responsive?: {
1014
+ preview?: {
1015
+ srcset?: string | undefined;
1016
+ } | undefined;
1017
+ original?: {
1018
+ srcset?: string | undefined;
1019
+ } | undefined;
1020
+ } | undefined;
1021
+ processing_status?: import("../index.js").VideoRenderStatus | undefined;
1022
+ video_render_status?: import("../index.js").VideoRenderStatus | undefined;
1023
+ video_render_progress?: number | undefined;
1024
+ video_render_error?: string | null | undefined;
1025
+ video_render_job_id?: string | null | undefined;
1026
+ source_media_id?: string | undefined;
1027
+ output_media_id?: string | undefined;
1028
+ provider?: string | undefined;
1029
+ provider_asset_id?: string | undefined;
1030
+ provider_library_id?: string | undefined;
1031
+ duration?: number | undefined;
1032
+ aspect_ratio?: string | undefined;
1033
+ }[] | undefined;
1034
+ meta?: {
1035
+ [x: string]: unknown;
1036
+ live_viewers?: number | null | undefined;
1037
+ feeling?: {
1038
+ type: import("../index.js").PostFeelingType;
1039
+ value: import("../index.js").PostFeelingValue;
1040
+ } | null | undefined;
1041
+ } | undefined;
1042
+ live_viewers?: number | null | undefined;
1043
+ is_quarantined?: boolean | undefined;
1044
+ published_site_names?: string[] | null | undefined;
1045
+ id: string;
1046
+ created_at: string;
1047
+ updated_at?: string | undefined;
1048
+ } | null | undefined;
1049
+ thread?: {
1050
+ id: string;
1051
+ space_id: string;
1052
+ slug: string;
1053
+ title: string;
1054
+ body?: string | null | undefined;
1055
+ reply_count: number;
1056
+ author_id: string;
1057
+ author?: {
1058
+ id: string;
1059
+ name: string;
1060
+ handle?: string | undefined;
1061
+ avatar_url?: string | null | undefined;
1062
+ avatar?: unknown;
1063
+ } | null | undefined;
1064
+ created_at: string;
1065
+ tags?: {
1066
+ id: string;
1067
+ slug: string;
1068
+ label: string;
1069
+ }[] | undefined;
1070
+ } | null | undefined;
1071
+ album?: {
1072
+ id: string;
1073
+ name: string;
1074
+ description?: string | null | undefined;
1075
+ media_count: number;
1076
+ owner: {
1077
+ id: string;
1078
+ type: string;
1079
+ name?: string | undefined;
1080
+ avatar_url?: string | null | undefined;
1081
+ };
1082
+ cover_media?: {
1083
+ uuid: string;
1084
+ urls: {
1085
+ thumb?: string | undefined;
1086
+ preview?: string | undefined;
1087
+ original?: string | undefined;
1088
+ };
1089
+ } | null | undefined;
1090
+ created_at?: string | null | undefined;
1091
+ } | null | undefined;
1092
+ }[], FeedEntry[] | {
1093
+ [x: string]: unknown;
1094
+ id?: string | undefined;
1095
+ entity_id: string;
1096
+ entity_type: string;
1097
+ created_at?: string | undefined;
1098
+ activity_type?: string | undefined;
1099
+ actor_id?: string | undefined;
1100
+ owner_user_id?: string | undefined;
1101
+ visibility?: string | undefined;
1102
+ is_hidden?: boolean | undefined;
1103
+ post?: {
1104
+ _isPending?: boolean | undefined;
1105
+ _tempId?: string | undefined;
1106
+ body: string;
1107
+ share_type?: PostShareType | undefined;
1108
+ quoted_post_id?: string | null | undefined;
1109
+ quoted_post?: {
1110
+ id: string;
1111
+ body: string;
1112
+ author?: {
1113
+ id: string;
1114
+ name: string;
1115
+ avatar?: string | null | undefined;
1116
+ username?: string | null | undefined;
1117
+ handle?: string | null | undefined;
1118
+ } | null | undefined;
1119
+ author_id?: string | undefined;
1120
+ created_at?: string | undefined;
1121
+ } | null | undefined;
1122
+ content_warning?: string | null | undefined;
1123
+ sensitive?: boolean | undefined;
1124
+ author: {
1125
+ id: string;
1126
+ name: string;
1127
+ avatar?: string | null | undefined;
1128
+ username?: string | null | undefined;
1129
+ handle?: string | null | undefined;
1130
+ };
1131
+ author_id: string;
1132
+ reactions_count: number;
1133
+ comments_count: number;
1134
+ user_has_reacted: boolean;
1135
+ user_has_reposted?: boolean | undefined;
1136
+ user_repost_id?: string | null | undefined;
1137
+ visibility?: "public" | "private" | "friends" | undefined;
1138
+ media?: {
1139
+ id?: string | undefined;
1140
+ uuid?: string | undefined;
1141
+ mime_type?: string | undefined;
1142
+ url?: string | undefined;
1143
+ thumb_url?: string | undefined;
1144
+ preview_url?: string | undefined;
1145
+ playback_url?: string | undefined;
1146
+ thumbnail_url?: string | undefined;
1147
+ urls?: {
1148
+ original?: string | undefined;
1149
+ thumb?: string | undefined;
1150
+ thumbnail?: string | undefined;
1151
+ preview?: string | undefined;
1152
+ } | undefined;
1153
+ type?: "image" | "video" | undefined;
1154
+ alt_text?: string | undefined;
1155
+ width?: number | undefined;
1156
+ height?: number | undefined;
1157
+ responsive?: {
1158
+ preview?: {
1159
+ srcset?: string | undefined;
1160
+ } | undefined;
1161
+ original?: {
1162
+ srcset?: string | undefined;
1163
+ } | undefined;
1164
+ } | undefined;
1165
+ processing_status?: import("../index.js").VideoRenderStatus | undefined;
1166
+ video_render_status?: import("../index.js").VideoRenderStatus | undefined;
1167
+ video_render_progress?: number | undefined;
1168
+ video_render_error?: string | null | undefined;
1169
+ video_render_job_id?: string | null | undefined;
1170
+ source_media_id?: string | undefined;
1171
+ output_media_id?: string | undefined;
1172
+ provider?: string | undefined;
1173
+ provider_asset_id?: string | undefined;
1174
+ provider_library_id?: string | undefined;
1175
+ duration?: number | undefined;
1176
+ aspect_ratio?: string | undefined;
1177
+ }[] | undefined;
1178
+ meta?: {
1179
+ [x: string]: unknown;
1180
+ live_viewers?: number | null | undefined;
1181
+ feeling?: {
1182
+ type: import("../index.js").PostFeelingType;
1183
+ value: import("../index.js").PostFeelingValue;
1184
+ } | null | undefined;
1185
+ } | undefined;
1186
+ live_viewers?: number | null | undefined;
1187
+ is_quarantined?: boolean | undefined;
1188
+ published_site_names?: string[] | null | undefined;
1189
+ id: string;
1190
+ created_at: string;
1191
+ updated_at?: string | undefined;
1192
+ } | null | undefined;
1193
+ thread?: {
1194
+ id: string;
1195
+ space_id: string;
1196
+ slug: string;
1197
+ title: string;
1198
+ body?: string | null | undefined;
1199
+ reply_count: number;
1200
+ author_id: string;
1201
+ author?: {
1202
+ id: string;
1203
+ name: string;
1204
+ handle?: string | undefined;
1205
+ avatar_url?: string | null | undefined;
1206
+ avatar?: unknown;
1207
+ } | null | undefined;
1208
+ created_at: string;
1209
+ tags?: {
1210
+ id: string;
1211
+ slug: string;
1212
+ label: string;
1213
+ }[] | undefined;
1214
+ } | null | undefined;
1215
+ album?: {
1216
+ id: string;
1217
+ name: string;
1218
+ description?: string | null | undefined;
1219
+ media_count: number;
1220
+ owner: {
1221
+ id: string;
1222
+ type: string;
1223
+ name?: string | undefined;
1224
+ avatar_url?: string | null | undefined;
1225
+ };
1226
+ cover_media?: {
1227
+ uuid: string;
1228
+ urls: {
1229
+ thumb?: string | undefined;
1230
+ preview?: string | undefined;
1231
+ original?: string | undefined;
1232
+ };
1233
+ } | null | undefined;
1234
+ created_at?: string | null | undefined;
1235
+ } | null | undefined;
1236
+ }[]>;
1237
+ nextCursor: import("vue").Ref<string | null, string | null>;
1238
+ loading: import("vue").Ref<boolean, boolean>;
1239
+ error: import("vue").Ref<string | null, string | null>;
1240
+ pendingPosts: import("vue").Ref<{
1241
+ tempId: string;
1242
+ body: string;
1243
+ share_type?: PostShareType | undefined;
1244
+ quoted_post_id?: string | undefined | undefined;
1245
+ visibility: string;
1246
+ content_warning?: string | undefined | undefined;
1247
+ meta?: {
1248
+ [x: string]: unknown;
1249
+ live_viewers?: number | null | undefined;
1250
+ feeling?: {
1251
+ type: import("../index.js").PostFeelingType;
1252
+ value: import("../index.js").PostFeelingValue;
1253
+ } | null | undefined;
1254
+ } | undefined;
1255
+ media_ids?: string[] | undefined | undefined;
1256
+ mediaItems?: {
1257
+ id?: string | undefined;
1258
+ previewUrl: string;
1259
+ file?: {
1260
+ readonly lastModified: number;
1261
+ readonly name: string;
1262
+ readonly webkitRelativePath: string;
1263
+ readonly size: number;
1264
+ readonly type: string;
1265
+ arrayBuffer: () => Promise<ArrayBuffer>;
1266
+ bytes: () => Promise<Uint8Array>;
1267
+ slice: (start?: number, end?: number, contentType?: string) => Blob;
1268
+ stream: () => ReadableStream<Uint8Array>;
1269
+ text: () => Promise<string>;
1270
+ } | undefined;
1271
+ mimeType: string;
1272
+ name: string;
1273
+ size: number;
1274
+ status: "pending" | "uploading" | "uploaded" | "failed";
1275
+ error?: string | undefined;
1276
+ }[] | undefined;
1277
+ hadUnuploadedMedia?: boolean | undefined | undefined;
1278
+ container_type?: string | undefined | undefined;
1279
+ container_id?: string | undefined | undefined;
1280
+ pendingVideoRenders?: {
1281
+ sourceMediaUuid: string;
1282
+ renderJobId: string | null;
1283
+ }[] | undefined;
1284
+ status: import("../index.js").PendingPostStatus;
1285
+ createdAt: string;
1286
+ retryCount: number;
1287
+ error?: string | undefined | undefined;
1288
+ }[], PendingPost[] | {
1289
+ tempId: string;
1290
+ body: string;
1291
+ share_type?: PostShareType | undefined;
1292
+ quoted_post_id?: string | undefined | undefined;
1293
+ visibility: string;
1294
+ content_warning?: string | undefined | undefined;
1295
+ meta?: {
1296
+ [x: string]: unknown;
1297
+ live_viewers?: number | null | undefined;
1298
+ feeling?: {
1299
+ type: import("../index.js").PostFeelingType;
1300
+ value: import("../index.js").PostFeelingValue;
1301
+ } | null | undefined;
1302
+ } | undefined;
1303
+ media_ids?: string[] | undefined | undefined;
1304
+ mediaItems?: {
1305
+ id?: string | undefined;
1306
+ previewUrl: string;
1307
+ file?: {
1308
+ readonly lastModified: number;
1309
+ readonly name: string;
1310
+ readonly webkitRelativePath: string;
1311
+ readonly size: number;
1312
+ readonly type: string;
1313
+ arrayBuffer: () => Promise<ArrayBuffer>;
1314
+ bytes: () => Promise<Uint8Array>;
1315
+ slice: (start?: number, end?: number, contentType?: string) => Blob;
1316
+ stream: () => ReadableStream<Uint8Array>;
1317
+ text: () => Promise<string>;
1318
+ } | undefined;
1319
+ mimeType: string;
1320
+ name: string;
1321
+ size: number;
1322
+ status: "pending" | "uploading" | "uploaded" | "failed";
1323
+ error?: string | undefined;
1324
+ }[] | undefined;
1325
+ hadUnuploadedMedia?: boolean | undefined | undefined;
1326
+ container_type?: string | undefined | undefined;
1327
+ container_id?: string | undefined | undefined;
1328
+ pendingVideoRenders?: {
1329
+ sourceMediaUuid: string;
1330
+ renderJobId: string | null;
1331
+ }[] | undefined;
1332
+ status: import("../index.js").PendingPostStatus;
1333
+ createdAt: string;
1334
+ retryCount: number;
1335
+ error?: string | undefined | undefined;
1336
+ }[]>;
1337
+ composerFeeling: import("vue").Ref<{
1338
+ type: import("../index.js").PostFeelingType;
1339
+ value: import("../index.js").PostFeelingValue;
1340
+ } | null, PostFeeling | {
1341
+ type: import("../index.js").PostFeelingType;
1342
+ value: import("../index.js").PostFeelingValue;
1343
+ } | null>;
1344
+ feedMode: import("vue").Ref<FeedMode, FeedMode>;
1345
+ hasPendingPosts: import("vue").ComputedRef<boolean>;
1346
+ PAGE_SIZE: number;
1347
+ loadFeed: (cursor?: string) => Promise<FeedResponse>;
1348
+ loadUserPosts: (userId: string, cursor?: string) => Promise<FeedResponse>;
1349
+ loadMore: () => Promise<FeedResponse>;
1350
+ setFeedMode: (mode: FeedMode) => void;
1351
+ createPost: (input: {
1352
+ body: string;
1353
+ share_type?: PostShareType;
1354
+ quoted_post_id?: string;
1355
+ visibility?: string;
1356
+ content_warning?: string;
1357
+ meta?: PostMeta;
1358
+ media_ids?: string[];
1359
+ media_urls?: string[];
1360
+ }) => Promise<{
1361
+ data: Post;
1362
+ }>;
1363
+ updatePost: (postId: string, input: {
1364
+ body?: string;
1365
+ visibility?: string;
1366
+ content_warning?: string | null;
1367
+ }) => Promise<{
1368
+ data: Post;
1369
+ }>;
1370
+ deletePost: (postId: string) => Promise<boolean>;
1371
+ loadScheduledPosts: (cursor?: string) => Promise<ScheduledPostsPage>;
1372
+ cancelScheduledPost: (id: string) => Promise<void>;
1373
+ enqueuePost: (input: {
1374
+ body: string;
1375
+ share_type?: PostShareType;
1376
+ quoted_post_id?: string;
1377
+ visibility?: string;
1378
+ content_warning?: string;
1379
+ meta?: PostMeta;
1380
+ media_ids?: string[];
1381
+ mediaItems?: LocalMediaItem[];
1382
+ container_type?: string;
1383
+ container_id?: string;
1384
+ pendingVideoRenders?: PendingVideoRender[];
1385
+ }) => PendingPost;
1386
+ processPendingPost: (tempId: string) => Promise<ProcessPendingPostResult>;
1387
+ retryPendingPost: (tempId: string) => Promise<void>;
1388
+ cancelPendingPost: (tempId: string) => void;
1389
+ claimLostMediaDraft: () => RecoverablePendingDraft | null;
1390
+ setComposerFeeling: (feeling: PostFeeling | null) => void;
1391
+ claimComposerFeeling: () => PostFeeling | null;
1392
+ restorePendingPosts: () => void;
1393
+ resetForLogout: () => void;
1394
+ updatePostMediaProcessingStatus: (input: {
1395
+ postId: string;
1396
+ sourceMediaUuid: string;
1397
+ status: "ready" | "failed";
1398
+ outputMediaId?: string | null;
1399
+ playbackUrl?: string | null;
1400
+ thumbnailUrl?: string | null;
1401
+ errorMessage?: string | null;
1402
+ }) => void;
1403
+ toggleReaction: (postId: string, _action: "like" | "unlike") => Promise<{
1404
+ data: {
1405
+ added: boolean;
1406
+ };
1407
+ }>;
1408
+ loadComments: (postId: string, cursor?: string) => Promise<{
1409
+ data: Comment[];
1410
+ }>;
1411
+ addComment: (postId: string, input: {
1412
+ body: string;
1413
+ }) => Promise<{
1414
+ data: Comment;
1415
+ }>;
1416
+ }, "loadFeed" | "loadUserPosts" | "loadMore" | "setFeedMode" | "createPost" | "updatePost" | "deletePost" | "loadScheduledPosts" | "cancelScheduledPost" | "enqueuePost" | "processPendingPost" | "retryPendingPost" | "cancelPendingPost" | "claimLostMediaDraft" | "setComposerFeeling" | "claimComposerFeeling" | "restorePendingPosts" | "resetForLogout" | "updatePostMediaProcessingStatus" | "toggleReaction" | "loadComments" | "addComment">>;
1417
+ export {};
1418
+ //# sourceMappingURL=content.d.ts.map