1- import { type Event } from "./event .js" ;
1+ import { type Subscription } from "./subscription .js" ;
22
33export interface SubscribeListParams {
44 readonly list : string ;
@@ -8,48 +8,67 @@ export interface SubscribeHashtagParams {
88 readonly tag : string ;
99}
1010
11- export interface Subscription extends AsyncIterable < Event > , Disposable {
12- values ( ) : AsyncIterableIterator < Event > ;
13- unsubscribe ( ) : void ;
11+ export interface PublicMediaResource {
12+ subscribe ( ) : Subscription ;
13+ }
14+
15+ export interface PublicLocalMediaResource {
16+ subscribe ( ) : Subscription ;
17+ }
18+
19+ export interface PublicLocalResource {
20+ media : PublicLocalMediaResource ;
21+ subscribe ( ) : Subscription ;
22+ }
23+
24+ export interface PublicRemoteMediaResource {
25+ subscribe ( ) : Subscription ;
26+ }
27+
28+ export interface PublicRemoteResource {
29+ media : PublicRemoteMediaResource ;
30+ subscribe ( ) : Subscription ;
31+ }
32+
33+ export interface PublicResource {
34+ media : PublicMediaResource ;
35+ local : PublicLocalResource ;
36+ remote : PublicRemoteResource ;
37+ subscribe ( ) : Subscription ;
38+ }
39+
40+ export interface HashtagLocalResource {
41+ subscribe ( params : SubscribeHashtagParams ) : Subscription ;
42+ }
43+
44+ export interface HashtagResource {
45+ local : HashtagLocalResource ;
46+ subscribe ( params : SubscribeHashtagParams ) : Subscription ;
47+ }
48+
49+ export interface ListResource {
50+ subscribe ( params : SubscribeListParams ) : Subscription ;
51+ }
52+
53+ export interface DirectResource {
54+ subscribe ( ) : Subscription ;
55+ }
56+
57+ export interface UserNotificationResource {
58+ subscribe ( ) : Subscription ;
59+ }
60+
61+ export interface UserResource {
62+ notification : UserNotificationResource ;
63+ subscribe ( ) : Subscription ;
1464}
1565
1666export interface Client extends Disposable {
17- public : {
18- subscribe ( ) : Subscription ;
19- media : {
20- subscribe ( ) : Subscription ;
21- } ;
22- local : {
23- subscribe ( ) : Subscription ;
24- media : {
25- subscribe ( ) : Subscription ;
26- } ;
27- } ;
28- remote : {
29- subscribe ( ) : Subscription ;
30- media : {
31- subscribe ( ) : Subscription ;
32- } ;
33- } ;
34- } ;
35- hashtag : {
36- subscribe ( params : SubscribeHashtagParams ) : Subscription ;
37- local : {
38- subscribe ( params : SubscribeHashtagParams ) : Subscription ;
39- } ;
40- } ;
41- list : {
42- subscribe ( params : SubscribeListParams ) : Subscription ;
43- } ;
44- direct : {
45- subscribe ( ) : Subscription ;
46- } ;
47- user : {
48- subscribe ( ) : Subscription ;
49- notification : {
50- subscribe ( ) : Subscription ;
51- } ;
52- } ;
67+ public : PublicResource ;
68+ hashtag : HashtagResource ;
69+ list : ListResource ;
70+ direct : DirectResource ;
71+ user : UserNotificationResource ;
5372
5473 close ( ) : void ;
5574
0 commit comments