@codingfactory/socialkit-vue 0.1.0 → 0.3.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.
Files changed (40) hide show
  1. package/dist/index.d.ts +9 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +3 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/services/circles.d.ts +470 -0
  6. package/dist/services/circles.d.ts.map +1 -0
  7. package/dist/services/circles.js +1924 -0
  8. package/dist/services/circles.js.map +1 -0
  9. package/dist/services/identity.d.ts +29 -0
  10. package/dist/services/identity.d.ts.map +1 -0
  11. package/dist/services/identity.js +150 -0
  12. package/dist/services/identity.js.map +1 -0
  13. package/dist/stores/auth.d.ts +3 -0
  14. package/dist/stores/auth.d.ts.map +1 -1
  15. package/dist/stores/circles.d.ts +4283 -0
  16. package/dist/stores/circles.d.ts.map +1 -0
  17. package/dist/stores/circles.js +1670 -0
  18. package/dist/stores/circles.js.map +1 -0
  19. package/dist/types/api.d.ts +19 -0
  20. package/dist/types/api.d.ts.map +1 -1
  21. package/dist/types/auth.d.ts +34 -0
  22. package/dist/types/auth.d.ts.map +1 -0
  23. package/dist/types/auth.js +8 -0
  24. package/dist/types/auth.js.map +1 -0
  25. package/dist/types/identity.d.ts +34 -0
  26. package/dist/types/identity.d.ts.map +1 -0
  27. package/dist/types/identity.js +5 -0
  28. package/dist/types/identity.js.map +1 -0
  29. package/dist/types/user.d.ts +1 -0
  30. package/dist/types/user.d.ts.map +1 -1
  31. package/dist/types/user.js.map +1 -1
  32. package/package.json +1 -1
  33. package/src/index.ts +105 -0
  34. package/src/services/circles.ts +2767 -0
  35. package/src/services/identity.ts +281 -0
  36. package/src/stores/circles.ts +2114 -0
  37. package/src/types/api.ts +20 -0
  38. package/src/types/auth.ts +39 -0
  39. package/src/types/identity.ts +41 -0
  40. package/src/types/user.ts +1 -0
@@ -0,0 +1,4283 @@
1
+ /**
2
+ * Generic circles store factory for SocialKit-powered frontends.
3
+ */
4
+ import type { Circle, CircleActorContext, CircleAutomodRule, CircleAutomodRuleInput, CircleBanRecord, CircleCreateInput, CircleFilters, CircleInviteLinkOptions, CircleManagementBootstrap, CircleManagementSection, CircleMember, CircleModerationAuditLogEntry, CircleModerationReport, CircleMuteMemberOptions, CircleMuteRecord, CircleReportDecision, CircleRole, CircleRoleDefinition, CircleRoleDefinitionInput, CircleRoleDefinitionUpdateInput, CircleUpdateInput, CirclesServiceInstance, InviteLink, JoinRequest } from '../services/circles.js';
5
+ interface CursorPaginationState {
6
+ cursor: string | null;
7
+ hasMore: boolean;
8
+ }
9
+ type ManagementCollectionKey = 'members' | 'requests' | 'roles' | 'reports' | 'bans' | 'mutes' | 'audit' | 'automod';
10
+ interface ManagementSectionLoadingState {
11
+ members?: boolean;
12
+ requests?: boolean;
13
+ roles?: boolean;
14
+ reports?: boolean;
15
+ bans?: boolean;
16
+ mutes?: boolean;
17
+ audit?: boolean;
18
+ automod?: boolean;
19
+ }
20
+ interface ManagementSectionErrorState {
21
+ members?: string | null;
22
+ requests?: string | null;
23
+ roles?: string | null;
24
+ reports?: string | null;
25
+ bans?: string | null;
26
+ mutes?: string | null;
27
+ audit?: string | null;
28
+ automod?: string | null;
29
+ }
30
+ interface CircleRoleAssignment {
31
+ id: string;
32
+ user_id: string;
33
+ role: CircleRole;
34
+ assigned_at: string | null;
35
+ user?: CircleMember['user'];
36
+ }
37
+ interface CircleManagementCounts {
38
+ [key: string]: number;
39
+ members: number;
40
+ requests_pending: number;
41
+ reports_pending: number;
42
+ roles: number;
43
+ bans_active: number;
44
+ mutes_active: number;
45
+ }
46
+ interface CircleManagementPermissionCatalogEntry {
47
+ key: string;
48
+ label: string;
49
+ description: string;
50
+ module: string;
51
+ owner_only: boolean;
52
+ surfaced: boolean;
53
+ section: string;
54
+ }
55
+ type CircleMemberState = CircleMember;
56
+ export interface CirclesStoreConfig {
57
+ storeId?: string;
58
+ circlesService: CirclesServiceInstance;
59
+ getErrorMessage: (error: unknown) => string;
60
+ persist?: Record<string, unknown>;
61
+ }
62
+ interface CirclesState {
63
+ circles: Circle[];
64
+ currentCircle: Circle | null;
65
+ members: Record<string, CircleMemberState[]>;
66
+ joinRequests: Record<string, JoinRequest[]>;
67
+ joinRequestsPagination: Record<string, CursorPaginationState>;
68
+ managementActors: Record<string, CircleActorContext>;
69
+ managementSections: Record<string, CircleManagementSection[]>;
70
+ managementBootstrapLoading: Record<string, boolean>;
71
+ managementBootstrapError: Record<string, string | null>;
72
+ managementSectionLoading: Record<string, ManagementSectionLoadingState>;
73
+ managementSectionErrors: Record<string, ManagementSectionErrorState>;
74
+ managementBootstrappedAt: Record<string, string>;
75
+ roleDefinitions: Record<string, CircleRoleDefinition[]>;
76
+ roleDefinitionsPagination: Record<string, CursorPaginationState>;
77
+ managementCounts: Record<string, CircleManagementCounts>;
78
+ managementPermissionCatalog: Record<string, CircleManagementPermissionCatalogEntry[]>;
79
+ roleAssignments: Record<string, CircleRoleAssignment[]>;
80
+ roleAssignmentsPagination: Record<string, CursorPaginationState>;
81
+ reports: Record<string, CircleModerationReport[]>;
82
+ reportsPagination: Record<string, CursorPaginationState>;
83
+ bans: Record<string, CircleBanRecord[]>;
84
+ bansPagination: Record<string, CursorPaginationState>;
85
+ mutes: Record<string, CircleMuteRecord[]>;
86
+ mutesPagination: Record<string, CursorPaginationState>;
87
+ auditLog: Record<string, CircleModerationAuditLogEntry[]>;
88
+ auditLogPagination: Record<string, CursorPaginationState>;
89
+ automodRules: Record<string, CircleAutomodRule[]>;
90
+ automodRulesPagination: Record<string, CursorPaginationState>;
91
+ pendingRequestCircleIds: string[];
92
+ loading: boolean;
93
+ error: string | null;
94
+ pagination: {
95
+ cursor: string | null;
96
+ hasMore: boolean;
97
+ };
98
+ activeFilterKey: string;
99
+ circlesByFilter: Record<string, Circle[]>;
100
+ paginationByFilter: Record<string, CursorPaginationState>;
101
+ fetchedFilterKeys: Record<string, boolean>;
102
+ membersPagination: Record<string, {
103
+ cursor: string | null;
104
+ hasMore: boolean;
105
+ }>;
106
+ filters: CircleFilters;
107
+ }
108
+ export type CirclesStoreReturn = ReturnType<ReturnType<typeof createCirclesStoreDefinition>>;
109
+ export declare function createCirclesStoreDefinition(config: CirclesStoreConfig): import("pinia").StoreDefinition<string, CirclesState, {
110
+ userCircles: (state: {
111
+ circles: {
112
+ id: string;
113
+ name: string;
114
+ slug: string;
115
+ description?: string | null | undefined;
116
+ visibility: import("../index.js").CircleVisibility;
117
+ is_hidden: boolean;
118
+ owner_id?: string | null | undefined;
119
+ meta: Record<string, unknown>;
120
+ cover_photo_url?: string | null | undefined;
121
+ cover_photo_media_id?: string | null | undefined;
122
+ created_at: string;
123
+ updated_at: string;
124
+ is_member?: boolean | undefined;
125
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
126
+ member_count?: number | undefined;
127
+ can_join?: boolean | undefined;
128
+ can_manage?: boolean | undefined;
129
+ can_manage_members?: boolean | undefined;
130
+ can_invite?: boolean | undefined;
131
+ can_leave?: boolean | undefined;
132
+ can_request_to_join?: boolean | undefined;
133
+ has_pending_request?: boolean | undefined;
134
+ actor_capabilities?: {
135
+ is_owner?: boolean | undefined;
136
+ is_moderator?: boolean | undefined;
137
+ moderation_level?: CircleRole | undefined;
138
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
139
+ can?: Record<string, boolean> | undefined;
140
+ canJoin?: boolean | undefined;
141
+ canLeave?: boolean | undefined;
142
+ canRequestToJoin?: boolean | undefined;
143
+ canInvite?: boolean | undefined;
144
+ canManage?: boolean | undefined;
145
+ canManageMembers?: boolean | undefined;
146
+ canManageRoles?: boolean | undefined;
147
+ canReviewRequests?: boolean | undefined;
148
+ canManageReports?: boolean | undefined;
149
+ canManageBans?: boolean | undefined;
150
+ canManageMutes?: boolean | undefined;
151
+ canViewAuditLog?: boolean | undefined;
152
+ canManageAutomod?: boolean | undefined;
153
+ canManageSettings?: boolean | undefined;
154
+ canTransferOwnership?: boolean | undefined;
155
+ canViewManagement?: boolean | undefined;
156
+ } | undefined;
157
+ management_sections?: CircleManagementSection[] | undefined;
158
+ group_rules_summary?: string | null | undefined;
159
+ welcome_message?: string | null | undefined;
160
+ canonical_path?: string | null | undefined;
161
+ actor?: {
162
+ isMember: boolean;
163
+ role: import("../services/circles.js").CircleActorRole;
164
+ hasPendingRequest: boolean;
165
+ capabilities: {
166
+ is_owner: boolean;
167
+ is_moderator: boolean;
168
+ moderation_level: CircleRole;
169
+ permissions: import("../index.js").CirclePermissionKey[];
170
+ can: Record<string, boolean>;
171
+ canJoin: boolean;
172
+ canLeave: boolean;
173
+ canRequestToJoin: boolean;
174
+ canInvite: boolean;
175
+ canManage: boolean;
176
+ canManageMembers: boolean;
177
+ canManageRoles: boolean;
178
+ canReviewRequests: boolean;
179
+ canManageReports: boolean;
180
+ canManageBans: boolean;
181
+ canManageMutes: boolean;
182
+ canViewAuditLog: boolean;
183
+ canManageAutomod: boolean;
184
+ canManageSettings: boolean;
185
+ canTransferOwnership: boolean;
186
+ canViewManagement: boolean;
187
+ };
188
+ managementSections: CircleManagementSection[];
189
+ } | undefined;
190
+ creator?: {
191
+ id: string;
192
+ name: string;
193
+ handle: string;
194
+ avatar: string | null;
195
+ avatar_url: string | null;
196
+ bio?: string | null | undefined;
197
+ is_following?: boolean | undefined;
198
+ is_followed_by?: boolean | undefined;
199
+ } | undefined;
200
+ }[];
201
+ currentCircle: {
202
+ id: string;
203
+ name: string;
204
+ slug: string;
205
+ description?: string | null | undefined;
206
+ visibility: import("../index.js").CircleVisibility;
207
+ is_hidden: boolean;
208
+ owner_id?: string | null | undefined;
209
+ meta: Record<string, unknown>;
210
+ cover_photo_url?: string | null | undefined;
211
+ cover_photo_media_id?: string | null | undefined;
212
+ created_at: string;
213
+ updated_at: string;
214
+ is_member?: boolean | undefined;
215
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
216
+ member_count?: number | undefined;
217
+ can_join?: boolean | undefined;
218
+ can_manage?: boolean | undefined;
219
+ can_manage_members?: boolean | undefined;
220
+ can_invite?: boolean | undefined;
221
+ can_leave?: boolean | undefined;
222
+ can_request_to_join?: boolean | undefined;
223
+ has_pending_request?: boolean | undefined;
224
+ actor_capabilities?: {
225
+ is_owner?: boolean | undefined;
226
+ is_moderator?: boolean | undefined;
227
+ moderation_level?: CircleRole | undefined;
228
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
229
+ can?: Record<string, boolean> | undefined;
230
+ canJoin?: boolean | undefined;
231
+ canLeave?: boolean | undefined;
232
+ canRequestToJoin?: boolean | undefined;
233
+ canInvite?: boolean | undefined;
234
+ canManage?: boolean | undefined;
235
+ canManageMembers?: boolean | undefined;
236
+ canManageRoles?: boolean | undefined;
237
+ canReviewRequests?: boolean | undefined;
238
+ canManageReports?: boolean | undefined;
239
+ canManageBans?: boolean | undefined;
240
+ canManageMutes?: boolean | undefined;
241
+ canViewAuditLog?: boolean | undefined;
242
+ canManageAutomod?: boolean | undefined;
243
+ canManageSettings?: boolean | undefined;
244
+ canTransferOwnership?: boolean | undefined;
245
+ canViewManagement?: boolean | undefined;
246
+ } | undefined;
247
+ management_sections?: CircleManagementSection[] | undefined;
248
+ group_rules_summary?: string | null | undefined;
249
+ welcome_message?: string | null | undefined;
250
+ canonical_path?: string | null | undefined;
251
+ actor?: {
252
+ isMember: boolean;
253
+ role: import("../services/circles.js").CircleActorRole;
254
+ hasPendingRequest: boolean;
255
+ capabilities: {
256
+ is_owner: boolean;
257
+ is_moderator: boolean;
258
+ moderation_level: CircleRole;
259
+ permissions: import("../index.js").CirclePermissionKey[];
260
+ can: Record<string, boolean>;
261
+ canJoin: boolean;
262
+ canLeave: boolean;
263
+ canRequestToJoin: boolean;
264
+ canInvite: boolean;
265
+ canManage: boolean;
266
+ canManageMembers: boolean;
267
+ canManageRoles: boolean;
268
+ canReviewRequests: boolean;
269
+ canManageReports: boolean;
270
+ canManageBans: boolean;
271
+ canManageMutes: boolean;
272
+ canViewAuditLog: boolean;
273
+ canManageAutomod: boolean;
274
+ canManageSettings: boolean;
275
+ canTransferOwnership: boolean;
276
+ canViewManagement: boolean;
277
+ };
278
+ managementSections: CircleManagementSection[];
279
+ } | undefined;
280
+ creator?: {
281
+ id: string;
282
+ name: string;
283
+ handle: string;
284
+ avatar: string | null;
285
+ avatar_url: string | null;
286
+ bio?: string | null | undefined;
287
+ is_following?: boolean | undefined;
288
+ is_followed_by?: boolean | undefined;
289
+ } | undefined;
290
+ } | null;
291
+ members: Record<string, CircleMemberState[]>;
292
+ joinRequests: Record<string, JoinRequest[]>;
293
+ joinRequestsPagination: Record<string, CursorPaginationState>;
294
+ managementActors: Record<string, CircleActorContext>;
295
+ managementSections: Record<string, CircleManagementSection[]>;
296
+ managementBootstrapLoading: Record<string, boolean>;
297
+ managementBootstrapError: Record<string, string | null>;
298
+ managementSectionLoading: Record<string, ManagementSectionLoadingState>;
299
+ managementSectionErrors: Record<string, ManagementSectionErrorState>;
300
+ managementBootstrappedAt: Record<string, string>;
301
+ roleDefinitions: Record<string, CircleRoleDefinition[]>;
302
+ roleDefinitionsPagination: Record<string, CursorPaginationState>;
303
+ managementCounts: Record<string, CircleManagementCounts>;
304
+ managementPermissionCatalog: Record<string, CircleManagementPermissionCatalogEntry[]>;
305
+ roleAssignments: Record<string, CircleRoleAssignment[]>;
306
+ roleAssignmentsPagination: Record<string, CursorPaginationState>;
307
+ reports: Record<string, CircleModerationReport[]>;
308
+ reportsPagination: Record<string, CursorPaginationState>;
309
+ bans: Record<string, CircleBanRecord[]>;
310
+ bansPagination: Record<string, CursorPaginationState>;
311
+ mutes: Record<string, CircleMuteRecord[]>;
312
+ mutesPagination: Record<string, CursorPaginationState>;
313
+ auditLog: Record<string, CircleModerationAuditLogEntry[]>;
314
+ auditLogPagination: Record<string, CursorPaginationState>;
315
+ automodRules: Record<string, CircleAutomodRule[]>;
316
+ automodRulesPagination: Record<string, CursorPaginationState>;
317
+ pendingRequestCircleIds: string[];
318
+ loading: boolean;
319
+ error: string | null;
320
+ pagination: {
321
+ cursor: string | null;
322
+ hasMore: boolean;
323
+ };
324
+ activeFilterKey: string;
325
+ circlesByFilter: Record<string, Circle[]>;
326
+ paginationByFilter: Record<string, CursorPaginationState>;
327
+ fetchedFilterKeys: Record<string, boolean>;
328
+ membersPagination: Record<string, {
329
+ cursor: string | null;
330
+ hasMore: boolean;
331
+ }>;
332
+ filters: {
333
+ visibility?: import("../index.js").CircleVisibility | undefined;
334
+ membership?: "joined" | "managed" | "available" | undefined;
335
+ search?: string | undefined;
336
+ };
337
+ } & import("pinia").PiniaCustomStateProperties<CirclesState>) => Circle[];
338
+ joinableCircles: (state: {
339
+ circles: {
340
+ id: string;
341
+ name: string;
342
+ slug: string;
343
+ description?: string | null | undefined;
344
+ visibility: import("../index.js").CircleVisibility;
345
+ is_hidden: boolean;
346
+ owner_id?: string | null | undefined;
347
+ meta: Record<string, unknown>;
348
+ cover_photo_url?: string | null | undefined;
349
+ cover_photo_media_id?: string | null | undefined;
350
+ created_at: string;
351
+ updated_at: string;
352
+ is_member?: boolean | undefined;
353
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
354
+ member_count?: number | undefined;
355
+ can_join?: boolean | undefined;
356
+ can_manage?: boolean | undefined;
357
+ can_manage_members?: boolean | undefined;
358
+ can_invite?: boolean | undefined;
359
+ can_leave?: boolean | undefined;
360
+ can_request_to_join?: boolean | undefined;
361
+ has_pending_request?: boolean | undefined;
362
+ actor_capabilities?: {
363
+ is_owner?: boolean | undefined;
364
+ is_moderator?: boolean | undefined;
365
+ moderation_level?: CircleRole | undefined;
366
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
367
+ can?: Record<string, boolean> | undefined;
368
+ canJoin?: boolean | undefined;
369
+ canLeave?: boolean | undefined;
370
+ canRequestToJoin?: boolean | undefined;
371
+ canInvite?: boolean | undefined;
372
+ canManage?: boolean | undefined;
373
+ canManageMembers?: boolean | undefined;
374
+ canManageRoles?: boolean | undefined;
375
+ canReviewRequests?: boolean | undefined;
376
+ canManageReports?: boolean | undefined;
377
+ canManageBans?: boolean | undefined;
378
+ canManageMutes?: boolean | undefined;
379
+ canViewAuditLog?: boolean | undefined;
380
+ canManageAutomod?: boolean | undefined;
381
+ canManageSettings?: boolean | undefined;
382
+ canTransferOwnership?: boolean | undefined;
383
+ canViewManagement?: boolean | undefined;
384
+ } | undefined;
385
+ management_sections?: CircleManagementSection[] | undefined;
386
+ group_rules_summary?: string | null | undefined;
387
+ welcome_message?: string | null | undefined;
388
+ canonical_path?: string | null | undefined;
389
+ actor?: {
390
+ isMember: boolean;
391
+ role: import("../services/circles.js").CircleActorRole;
392
+ hasPendingRequest: boolean;
393
+ capabilities: {
394
+ is_owner: boolean;
395
+ is_moderator: boolean;
396
+ moderation_level: CircleRole;
397
+ permissions: import("../index.js").CirclePermissionKey[];
398
+ can: Record<string, boolean>;
399
+ canJoin: boolean;
400
+ canLeave: boolean;
401
+ canRequestToJoin: boolean;
402
+ canInvite: boolean;
403
+ canManage: boolean;
404
+ canManageMembers: boolean;
405
+ canManageRoles: boolean;
406
+ canReviewRequests: boolean;
407
+ canManageReports: boolean;
408
+ canManageBans: boolean;
409
+ canManageMutes: boolean;
410
+ canViewAuditLog: boolean;
411
+ canManageAutomod: boolean;
412
+ canManageSettings: boolean;
413
+ canTransferOwnership: boolean;
414
+ canViewManagement: boolean;
415
+ };
416
+ managementSections: CircleManagementSection[];
417
+ } | undefined;
418
+ creator?: {
419
+ id: string;
420
+ name: string;
421
+ handle: string;
422
+ avatar: string | null;
423
+ avatar_url: string | null;
424
+ bio?: string | null | undefined;
425
+ is_following?: boolean | undefined;
426
+ is_followed_by?: boolean | undefined;
427
+ } | undefined;
428
+ }[];
429
+ currentCircle: {
430
+ id: string;
431
+ name: string;
432
+ slug: string;
433
+ description?: string | null | undefined;
434
+ visibility: import("../index.js").CircleVisibility;
435
+ is_hidden: boolean;
436
+ owner_id?: string | null | undefined;
437
+ meta: Record<string, unknown>;
438
+ cover_photo_url?: string | null | undefined;
439
+ cover_photo_media_id?: string | null | undefined;
440
+ created_at: string;
441
+ updated_at: string;
442
+ is_member?: boolean | undefined;
443
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
444
+ member_count?: number | undefined;
445
+ can_join?: boolean | undefined;
446
+ can_manage?: boolean | undefined;
447
+ can_manage_members?: boolean | undefined;
448
+ can_invite?: boolean | undefined;
449
+ can_leave?: boolean | undefined;
450
+ can_request_to_join?: boolean | undefined;
451
+ has_pending_request?: boolean | undefined;
452
+ actor_capabilities?: {
453
+ is_owner?: boolean | undefined;
454
+ is_moderator?: boolean | undefined;
455
+ moderation_level?: CircleRole | undefined;
456
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
457
+ can?: Record<string, boolean> | undefined;
458
+ canJoin?: boolean | undefined;
459
+ canLeave?: boolean | undefined;
460
+ canRequestToJoin?: boolean | undefined;
461
+ canInvite?: boolean | undefined;
462
+ canManage?: boolean | undefined;
463
+ canManageMembers?: boolean | undefined;
464
+ canManageRoles?: boolean | undefined;
465
+ canReviewRequests?: boolean | undefined;
466
+ canManageReports?: boolean | undefined;
467
+ canManageBans?: boolean | undefined;
468
+ canManageMutes?: boolean | undefined;
469
+ canViewAuditLog?: boolean | undefined;
470
+ canManageAutomod?: boolean | undefined;
471
+ canManageSettings?: boolean | undefined;
472
+ canTransferOwnership?: boolean | undefined;
473
+ canViewManagement?: boolean | undefined;
474
+ } | undefined;
475
+ management_sections?: CircleManagementSection[] | undefined;
476
+ group_rules_summary?: string | null | undefined;
477
+ welcome_message?: string | null | undefined;
478
+ canonical_path?: string | null | undefined;
479
+ actor?: {
480
+ isMember: boolean;
481
+ role: import("../services/circles.js").CircleActorRole;
482
+ hasPendingRequest: boolean;
483
+ capabilities: {
484
+ is_owner: boolean;
485
+ is_moderator: boolean;
486
+ moderation_level: CircleRole;
487
+ permissions: import("../index.js").CirclePermissionKey[];
488
+ can: Record<string, boolean>;
489
+ canJoin: boolean;
490
+ canLeave: boolean;
491
+ canRequestToJoin: boolean;
492
+ canInvite: boolean;
493
+ canManage: boolean;
494
+ canManageMembers: boolean;
495
+ canManageRoles: boolean;
496
+ canReviewRequests: boolean;
497
+ canManageReports: boolean;
498
+ canManageBans: boolean;
499
+ canManageMutes: boolean;
500
+ canViewAuditLog: boolean;
501
+ canManageAutomod: boolean;
502
+ canManageSettings: boolean;
503
+ canTransferOwnership: boolean;
504
+ canViewManagement: boolean;
505
+ };
506
+ managementSections: CircleManagementSection[];
507
+ } | undefined;
508
+ creator?: {
509
+ id: string;
510
+ name: string;
511
+ handle: string;
512
+ avatar: string | null;
513
+ avatar_url: string | null;
514
+ bio?: string | null | undefined;
515
+ is_following?: boolean | undefined;
516
+ is_followed_by?: boolean | undefined;
517
+ } | undefined;
518
+ } | null;
519
+ members: Record<string, CircleMemberState[]>;
520
+ joinRequests: Record<string, JoinRequest[]>;
521
+ joinRequestsPagination: Record<string, CursorPaginationState>;
522
+ managementActors: Record<string, CircleActorContext>;
523
+ managementSections: Record<string, CircleManagementSection[]>;
524
+ managementBootstrapLoading: Record<string, boolean>;
525
+ managementBootstrapError: Record<string, string | null>;
526
+ managementSectionLoading: Record<string, ManagementSectionLoadingState>;
527
+ managementSectionErrors: Record<string, ManagementSectionErrorState>;
528
+ managementBootstrappedAt: Record<string, string>;
529
+ roleDefinitions: Record<string, CircleRoleDefinition[]>;
530
+ roleDefinitionsPagination: Record<string, CursorPaginationState>;
531
+ managementCounts: Record<string, CircleManagementCounts>;
532
+ managementPermissionCatalog: Record<string, CircleManagementPermissionCatalogEntry[]>;
533
+ roleAssignments: Record<string, CircleRoleAssignment[]>;
534
+ roleAssignmentsPagination: Record<string, CursorPaginationState>;
535
+ reports: Record<string, CircleModerationReport[]>;
536
+ reportsPagination: Record<string, CursorPaginationState>;
537
+ bans: Record<string, CircleBanRecord[]>;
538
+ bansPagination: Record<string, CursorPaginationState>;
539
+ mutes: Record<string, CircleMuteRecord[]>;
540
+ mutesPagination: Record<string, CursorPaginationState>;
541
+ auditLog: Record<string, CircleModerationAuditLogEntry[]>;
542
+ auditLogPagination: Record<string, CursorPaginationState>;
543
+ automodRules: Record<string, CircleAutomodRule[]>;
544
+ automodRulesPagination: Record<string, CursorPaginationState>;
545
+ pendingRequestCircleIds: string[];
546
+ loading: boolean;
547
+ error: string | null;
548
+ pagination: {
549
+ cursor: string | null;
550
+ hasMore: boolean;
551
+ };
552
+ activeFilterKey: string;
553
+ circlesByFilter: Record<string, Circle[]>;
554
+ paginationByFilter: Record<string, CursorPaginationState>;
555
+ fetchedFilterKeys: Record<string, boolean>;
556
+ membersPagination: Record<string, {
557
+ cursor: string | null;
558
+ hasMore: boolean;
559
+ }>;
560
+ filters: {
561
+ visibility?: import("../index.js").CircleVisibility | undefined;
562
+ membership?: "joined" | "managed" | "available" | undefined;
563
+ search?: string | undefined;
564
+ };
565
+ } & import("pinia").PiniaCustomStateProperties<CirclesState>) => Circle[];
566
+ managedCircles: (state: {
567
+ circles: {
568
+ id: string;
569
+ name: string;
570
+ slug: string;
571
+ description?: string | null | undefined;
572
+ visibility: import("../index.js").CircleVisibility;
573
+ is_hidden: boolean;
574
+ owner_id?: string | null | undefined;
575
+ meta: Record<string, unknown>;
576
+ cover_photo_url?: string | null | undefined;
577
+ cover_photo_media_id?: string | null | undefined;
578
+ created_at: string;
579
+ updated_at: string;
580
+ is_member?: boolean | undefined;
581
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
582
+ member_count?: number | undefined;
583
+ can_join?: boolean | undefined;
584
+ can_manage?: boolean | undefined;
585
+ can_manage_members?: boolean | undefined;
586
+ can_invite?: boolean | undefined;
587
+ can_leave?: boolean | undefined;
588
+ can_request_to_join?: boolean | undefined;
589
+ has_pending_request?: boolean | undefined;
590
+ actor_capabilities?: {
591
+ is_owner?: boolean | undefined;
592
+ is_moderator?: boolean | undefined;
593
+ moderation_level?: CircleRole | undefined;
594
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
595
+ can?: Record<string, boolean> | undefined;
596
+ canJoin?: boolean | undefined;
597
+ canLeave?: boolean | undefined;
598
+ canRequestToJoin?: boolean | undefined;
599
+ canInvite?: boolean | undefined;
600
+ canManage?: boolean | undefined;
601
+ canManageMembers?: boolean | undefined;
602
+ canManageRoles?: boolean | undefined;
603
+ canReviewRequests?: boolean | undefined;
604
+ canManageReports?: boolean | undefined;
605
+ canManageBans?: boolean | undefined;
606
+ canManageMutes?: boolean | undefined;
607
+ canViewAuditLog?: boolean | undefined;
608
+ canManageAutomod?: boolean | undefined;
609
+ canManageSettings?: boolean | undefined;
610
+ canTransferOwnership?: boolean | undefined;
611
+ canViewManagement?: boolean | undefined;
612
+ } | undefined;
613
+ management_sections?: CircleManagementSection[] | undefined;
614
+ group_rules_summary?: string | null | undefined;
615
+ welcome_message?: string | null | undefined;
616
+ canonical_path?: string | null | undefined;
617
+ actor?: {
618
+ isMember: boolean;
619
+ role: import("../services/circles.js").CircleActorRole;
620
+ hasPendingRequest: boolean;
621
+ capabilities: {
622
+ is_owner: boolean;
623
+ is_moderator: boolean;
624
+ moderation_level: CircleRole;
625
+ permissions: import("../index.js").CirclePermissionKey[];
626
+ can: Record<string, boolean>;
627
+ canJoin: boolean;
628
+ canLeave: boolean;
629
+ canRequestToJoin: boolean;
630
+ canInvite: boolean;
631
+ canManage: boolean;
632
+ canManageMembers: boolean;
633
+ canManageRoles: boolean;
634
+ canReviewRequests: boolean;
635
+ canManageReports: boolean;
636
+ canManageBans: boolean;
637
+ canManageMutes: boolean;
638
+ canViewAuditLog: boolean;
639
+ canManageAutomod: boolean;
640
+ canManageSettings: boolean;
641
+ canTransferOwnership: boolean;
642
+ canViewManagement: boolean;
643
+ };
644
+ managementSections: CircleManagementSection[];
645
+ } | undefined;
646
+ creator?: {
647
+ id: string;
648
+ name: string;
649
+ handle: string;
650
+ avatar: string | null;
651
+ avatar_url: string | null;
652
+ bio?: string | null | undefined;
653
+ is_following?: boolean | undefined;
654
+ is_followed_by?: boolean | undefined;
655
+ } | undefined;
656
+ }[];
657
+ currentCircle: {
658
+ id: string;
659
+ name: string;
660
+ slug: string;
661
+ description?: string | null | undefined;
662
+ visibility: import("../index.js").CircleVisibility;
663
+ is_hidden: boolean;
664
+ owner_id?: string | null | undefined;
665
+ meta: Record<string, unknown>;
666
+ cover_photo_url?: string | null | undefined;
667
+ cover_photo_media_id?: string | null | undefined;
668
+ created_at: string;
669
+ updated_at: string;
670
+ is_member?: boolean | undefined;
671
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
672
+ member_count?: number | undefined;
673
+ can_join?: boolean | undefined;
674
+ can_manage?: boolean | undefined;
675
+ can_manage_members?: boolean | undefined;
676
+ can_invite?: boolean | undefined;
677
+ can_leave?: boolean | undefined;
678
+ can_request_to_join?: boolean | undefined;
679
+ has_pending_request?: boolean | undefined;
680
+ actor_capabilities?: {
681
+ is_owner?: boolean | undefined;
682
+ is_moderator?: boolean | undefined;
683
+ moderation_level?: CircleRole | undefined;
684
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
685
+ can?: Record<string, boolean> | undefined;
686
+ canJoin?: boolean | undefined;
687
+ canLeave?: boolean | undefined;
688
+ canRequestToJoin?: boolean | undefined;
689
+ canInvite?: boolean | undefined;
690
+ canManage?: boolean | undefined;
691
+ canManageMembers?: boolean | undefined;
692
+ canManageRoles?: boolean | undefined;
693
+ canReviewRequests?: boolean | undefined;
694
+ canManageReports?: boolean | undefined;
695
+ canManageBans?: boolean | undefined;
696
+ canManageMutes?: boolean | undefined;
697
+ canViewAuditLog?: boolean | undefined;
698
+ canManageAutomod?: boolean | undefined;
699
+ canManageSettings?: boolean | undefined;
700
+ canTransferOwnership?: boolean | undefined;
701
+ canViewManagement?: boolean | undefined;
702
+ } | undefined;
703
+ management_sections?: CircleManagementSection[] | undefined;
704
+ group_rules_summary?: string | null | undefined;
705
+ welcome_message?: string | null | undefined;
706
+ canonical_path?: string | null | undefined;
707
+ actor?: {
708
+ isMember: boolean;
709
+ role: import("../services/circles.js").CircleActorRole;
710
+ hasPendingRequest: boolean;
711
+ capabilities: {
712
+ is_owner: boolean;
713
+ is_moderator: boolean;
714
+ moderation_level: CircleRole;
715
+ permissions: import("../index.js").CirclePermissionKey[];
716
+ can: Record<string, boolean>;
717
+ canJoin: boolean;
718
+ canLeave: boolean;
719
+ canRequestToJoin: boolean;
720
+ canInvite: boolean;
721
+ canManage: boolean;
722
+ canManageMembers: boolean;
723
+ canManageRoles: boolean;
724
+ canReviewRequests: boolean;
725
+ canManageReports: boolean;
726
+ canManageBans: boolean;
727
+ canManageMutes: boolean;
728
+ canViewAuditLog: boolean;
729
+ canManageAutomod: boolean;
730
+ canManageSettings: boolean;
731
+ canTransferOwnership: boolean;
732
+ canViewManagement: boolean;
733
+ };
734
+ managementSections: CircleManagementSection[];
735
+ } | undefined;
736
+ creator?: {
737
+ id: string;
738
+ name: string;
739
+ handle: string;
740
+ avatar: string | null;
741
+ avatar_url: string | null;
742
+ bio?: string | null | undefined;
743
+ is_following?: boolean | undefined;
744
+ is_followed_by?: boolean | undefined;
745
+ } | undefined;
746
+ } | null;
747
+ members: Record<string, CircleMemberState[]>;
748
+ joinRequests: Record<string, JoinRequest[]>;
749
+ joinRequestsPagination: Record<string, CursorPaginationState>;
750
+ managementActors: Record<string, CircleActorContext>;
751
+ managementSections: Record<string, CircleManagementSection[]>;
752
+ managementBootstrapLoading: Record<string, boolean>;
753
+ managementBootstrapError: Record<string, string | null>;
754
+ managementSectionLoading: Record<string, ManagementSectionLoadingState>;
755
+ managementSectionErrors: Record<string, ManagementSectionErrorState>;
756
+ managementBootstrappedAt: Record<string, string>;
757
+ roleDefinitions: Record<string, CircleRoleDefinition[]>;
758
+ roleDefinitionsPagination: Record<string, CursorPaginationState>;
759
+ managementCounts: Record<string, CircleManagementCounts>;
760
+ managementPermissionCatalog: Record<string, CircleManagementPermissionCatalogEntry[]>;
761
+ roleAssignments: Record<string, CircleRoleAssignment[]>;
762
+ roleAssignmentsPagination: Record<string, CursorPaginationState>;
763
+ reports: Record<string, CircleModerationReport[]>;
764
+ reportsPagination: Record<string, CursorPaginationState>;
765
+ bans: Record<string, CircleBanRecord[]>;
766
+ bansPagination: Record<string, CursorPaginationState>;
767
+ mutes: Record<string, CircleMuteRecord[]>;
768
+ mutesPagination: Record<string, CursorPaginationState>;
769
+ auditLog: Record<string, CircleModerationAuditLogEntry[]>;
770
+ auditLogPagination: Record<string, CursorPaginationState>;
771
+ automodRules: Record<string, CircleAutomodRule[]>;
772
+ automodRulesPagination: Record<string, CursorPaginationState>;
773
+ pendingRequestCircleIds: string[];
774
+ loading: boolean;
775
+ error: string | null;
776
+ pagination: {
777
+ cursor: string | null;
778
+ hasMore: boolean;
779
+ };
780
+ activeFilterKey: string;
781
+ circlesByFilter: Record<string, Circle[]>;
782
+ paginationByFilter: Record<string, CursorPaginationState>;
783
+ fetchedFilterKeys: Record<string, boolean>;
784
+ membersPagination: Record<string, {
785
+ cursor: string | null;
786
+ hasMore: boolean;
787
+ }>;
788
+ filters: {
789
+ visibility?: import("../index.js").CircleVisibility | undefined;
790
+ membership?: "joined" | "managed" | "available" | undefined;
791
+ search?: string | undefined;
792
+ };
793
+ } & import("pinia").PiniaCustomStateProperties<CirclesState>) => Circle[];
794
+ filteredCircles: (state: {
795
+ circles: {
796
+ id: string;
797
+ name: string;
798
+ slug: string;
799
+ description?: string | null | undefined;
800
+ visibility: import("../index.js").CircleVisibility;
801
+ is_hidden: boolean;
802
+ owner_id?: string | null | undefined;
803
+ meta: Record<string, unknown>;
804
+ cover_photo_url?: string | null | undefined;
805
+ cover_photo_media_id?: string | null | undefined;
806
+ created_at: string;
807
+ updated_at: string;
808
+ is_member?: boolean | undefined;
809
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
810
+ member_count?: number | undefined;
811
+ can_join?: boolean | undefined;
812
+ can_manage?: boolean | undefined;
813
+ can_manage_members?: boolean | undefined;
814
+ can_invite?: boolean | undefined;
815
+ can_leave?: boolean | undefined;
816
+ can_request_to_join?: boolean | undefined;
817
+ has_pending_request?: boolean | undefined;
818
+ actor_capabilities?: {
819
+ is_owner?: boolean | undefined;
820
+ is_moderator?: boolean | undefined;
821
+ moderation_level?: CircleRole | undefined;
822
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
823
+ can?: Record<string, boolean> | undefined;
824
+ canJoin?: boolean | undefined;
825
+ canLeave?: boolean | undefined;
826
+ canRequestToJoin?: boolean | undefined;
827
+ canInvite?: boolean | undefined;
828
+ canManage?: boolean | undefined;
829
+ canManageMembers?: boolean | undefined;
830
+ canManageRoles?: boolean | undefined;
831
+ canReviewRequests?: boolean | undefined;
832
+ canManageReports?: boolean | undefined;
833
+ canManageBans?: boolean | undefined;
834
+ canManageMutes?: boolean | undefined;
835
+ canViewAuditLog?: boolean | undefined;
836
+ canManageAutomod?: boolean | undefined;
837
+ canManageSettings?: boolean | undefined;
838
+ canTransferOwnership?: boolean | undefined;
839
+ canViewManagement?: boolean | undefined;
840
+ } | undefined;
841
+ management_sections?: CircleManagementSection[] | undefined;
842
+ group_rules_summary?: string | null | undefined;
843
+ welcome_message?: string | null | undefined;
844
+ canonical_path?: string | null | undefined;
845
+ actor?: {
846
+ isMember: boolean;
847
+ role: import("../services/circles.js").CircleActorRole;
848
+ hasPendingRequest: boolean;
849
+ capabilities: {
850
+ is_owner: boolean;
851
+ is_moderator: boolean;
852
+ moderation_level: CircleRole;
853
+ permissions: import("../index.js").CirclePermissionKey[];
854
+ can: Record<string, boolean>;
855
+ canJoin: boolean;
856
+ canLeave: boolean;
857
+ canRequestToJoin: boolean;
858
+ canInvite: boolean;
859
+ canManage: boolean;
860
+ canManageMembers: boolean;
861
+ canManageRoles: boolean;
862
+ canReviewRequests: boolean;
863
+ canManageReports: boolean;
864
+ canManageBans: boolean;
865
+ canManageMutes: boolean;
866
+ canViewAuditLog: boolean;
867
+ canManageAutomod: boolean;
868
+ canManageSettings: boolean;
869
+ canTransferOwnership: boolean;
870
+ canViewManagement: boolean;
871
+ };
872
+ managementSections: CircleManagementSection[];
873
+ } | undefined;
874
+ creator?: {
875
+ id: string;
876
+ name: string;
877
+ handle: string;
878
+ avatar: string | null;
879
+ avatar_url: string | null;
880
+ bio?: string | null | undefined;
881
+ is_following?: boolean | undefined;
882
+ is_followed_by?: boolean | undefined;
883
+ } | undefined;
884
+ }[];
885
+ currentCircle: {
886
+ id: string;
887
+ name: string;
888
+ slug: string;
889
+ description?: string | null | undefined;
890
+ visibility: import("../index.js").CircleVisibility;
891
+ is_hidden: boolean;
892
+ owner_id?: string | null | undefined;
893
+ meta: Record<string, unknown>;
894
+ cover_photo_url?: string | null | undefined;
895
+ cover_photo_media_id?: string | null | undefined;
896
+ created_at: string;
897
+ updated_at: string;
898
+ is_member?: boolean | undefined;
899
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
900
+ member_count?: number | undefined;
901
+ can_join?: boolean | undefined;
902
+ can_manage?: boolean | undefined;
903
+ can_manage_members?: boolean | undefined;
904
+ can_invite?: boolean | undefined;
905
+ can_leave?: boolean | undefined;
906
+ can_request_to_join?: boolean | undefined;
907
+ has_pending_request?: boolean | undefined;
908
+ actor_capabilities?: {
909
+ is_owner?: boolean | undefined;
910
+ is_moderator?: boolean | undefined;
911
+ moderation_level?: CircleRole | undefined;
912
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
913
+ can?: Record<string, boolean> | undefined;
914
+ canJoin?: boolean | undefined;
915
+ canLeave?: boolean | undefined;
916
+ canRequestToJoin?: boolean | undefined;
917
+ canInvite?: boolean | undefined;
918
+ canManage?: boolean | undefined;
919
+ canManageMembers?: boolean | undefined;
920
+ canManageRoles?: boolean | undefined;
921
+ canReviewRequests?: boolean | undefined;
922
+ canManageReports?: boolean | undefined;
923
+ canManageBans?: boolean | undefined;
924
+ canManageMutes?: boolean | undefined;
925
+ canViewAuditLog?: boolean | undefined;
926
+ canManageAutomod?: boolean | undefined;
927
+ canManageSettings?: boolean | undefined;
928
+ canTransferOwnership?: boolean | undefined;
929
+ canViewManagement?: boolean | undefined;
930
+ } | undefined;
931
+ management_sections?: CircleManagementSection[] | undefined;
932
+ group_rules_summary?: string | null | undefined;
933
+ welcome_message?: string | null | undefined;
934
+ canonical_path?: string | null | undefined;
935
+ actor?: {
936
+ isMember: boolean;
937
+ role: import("../services/circles.js").CircleActorRole;
938
+ hasPendingRequest: boolean;
939
+ capabilities: {
940
+ is_owner: boolean;
941
+ is_moderator: boolean;
942
+ moderation_level: CircleRole;
943
+ permissions: import("../index.js").CirclePermissionKey[];
944
+ can: Record<string, boolean>;
945
+ canJoin: boolean;
946
+ canLeave: boolean;
947
+ canRequestToJoin: boolean;
948
+ canInvite: boolean;
949
+ canManage: boolean;
950
+ canManageMembers: boolean;
951
+ canManageRoles: boolean;
952
+ canReviewRequests: boolean;
953
+ canManageReports: boolean;
954
+ canManageBans: boolean;
955
+ canManageMutes: boolean;
956
+ canViewAuditLog: boolean;
957
+ canManageAutomod: boolean;
958
+ canManageSettings: boolean;
959
+ canTransferOwnership: boolean;
960
+ canViewManagement: boolean;
961
+ };
962
+ managementSections: CircleManagementSection[];
963
+ } | undefined;
964
+ creator?: {
965
+ id: string;
966
+ name: string;
967
+ handle: string;
968
+ avatar: string | null;
969
+ avatar_url: string | null;
970
+ bio?: string | null | undefined;
971
+ is_following?: boolean | undefined;
972
+ is_followed_by?: boolean | undefined;
973
+ } | undefined;
974
+ } | null;
975
+ members: Record<string, CircleMemberState[]>;
976
+ joinRequests: Record<string, JoinRequest[]>;
977
+ joinRequestsPagination: Record<string, CursorPaginationState>;
978
+ managementActors: Record<string, CircleActorContext>;
979
+ managementSections: Record<string, CircleManagementSection[]>;
980
+ managementBootstrapLoading: Record<string, boolean>;
981
+ managementBootstrapError: Record<string, string | null>;
982
+ managementSectionLoading: Record<string, ManagementSectionLoadingState>;
983
+ managementSectionErrors: Record<string, ManagementSectionErrorState>;
984
+ managementBootstrappedAt: Record<string, string>;
985
+ roleDefinitions: Record<string, CircleRoleDefinition[]>;
986
+ roleDefinitionsPagination: Record<string, CursorPaginationState>;
987
+ managementCounts: Record<string, CircleManagementCounts>;
988
+ managementPermissionCatalog: Record<string, CircleManagementPermissionCatalogEntry[]>;
989
+ roleAssignments: Record<string, CircleRoleAssignment[]>;
990
+ roleAssignmentsPagination: Record<string, CursorPaginationState>;
991
+ reports: Record<string, CircleModerationReport[]>;
992
+ reportsPagination: Record<string, CursorPaginationState>;
993
+ bans: Record<string, CircleBanRecord[]>;
994
+ bansPagination: Record<string, CursorPaginationState>;
995
+ mutes: Record<string, CircleMuteRecord[]>;
996
+ mutesPagination: Record<string, CursorPaginationState>;
997
+ auditLog: Record<string, CircleModerationAuditLogEntry[]>;
998
+ auditLogPagination: Record<string, CursorPaginationState>;
999
+ automodRules: Record<string, CircleAutomodRule[]>;
1000
+ automodRulesPagination: Record<string, CursorPaginationState>;
1001
+ pendingRequestCircleIds: string[];
1002
+ loading: boolean;
1003
+ error: string | null;
1004
+ pagination: {
1005
+ cursor: string | null;
1006
+ hasMore: boolean;
1007
+ };
1008
+ activeFilterKey: string;
1009
+ circlesByFilter: Record<string, Circle[]>;
1010
+ paginationByFilter: Record<string, CursorPaginationState>;
1011
+ fetchedFilterKeys: Record<string, boolean>;
1012
+ membersPagination: Record<string, {
1013
+ cursor: string | null;
1014
+ hasMore: boolean;
1015
+ }>;
1016
+ filters: {
1017
+ visibility?: import("../index.js").CircleVisibility | undefined;
1018
+ membership?: "joined" | "managed" | "available" | undefined;
1019
+ search?: string | undefined;
1020
+ };
1021
+ } & import("pinia").PiniaCustomStateProperties<CirclesState>) => Circle[];
1022
+ getCircleById: (state: {
1023
+ circles: {
1024
+ id: string;
1025
+ name: string;
1026
+ slug: string;
1027
+ description?: string | null | undefined;
1028
+ visibility: import("../index.js").CircleVisibility;
1029
+ is_hidden: boolean;
1030
+ owner_id?: string | null | undefined;
1031
+ meta: Record<string, unknown>;
1032
+ cover_photo_url?: string | null | undefined;
1033
+ cover_photo_media_id?: string | null | undefined;
1034
+ created_at: string;
1035
+ updated_at: string;
1036
+ is_member?: boolean | undefined;
1037
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
1038
+ member_count?: number | undefined;
1039
+ can_join?: boolean | undefined;
1040
+ can_manage?: boolean | undefined;
1041
+ can_manage_members?: boolean | undefined;
1042
+ can_invite?: boolean | undefined;
1043
+ can_leave?: boolean | undefined;
1044
+ can_request_to_join?: boolean | undefined;
1045
+ has_pending_request?: boolean | undefined;
1046
+ actor_capabilities?: {
1047
+ is_owner?: boolean | undefined;
1048
+ is_moderator?: boolean | undefined;
1049
+ moderation_level?: CircleRole | undefined;
1050
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
1051
+ can?: Record<string, boolean> | undefined;
1052
+ canJoin?: boolean | undefined;
1053
+ canLeave?: boolean | undefined;
1054
+ canRequestToJoin?: boolean | undefined;
1055
+ canInvite?: boolean | undefined;
1056
+ canManage?: boolean | undefined;
1057
+ canManageMembers?: boolean | undefined;
1058
+ canManageRoles?: boolean | undefined;
1059
+ canReviewRequests?: boolean | undefined;
1060
+ canManageReports?: boolean | undefined;
1061
+ canManageBans?: boolean | undefined;
1062
+ canManageMutes?: boolean | undefined;
1063
+ canViewAuditLog?: boolean | undefined;
1064
+ canManageAutomod?: boolean | undefined;
1065
+ canManageSettings?: boolean | undefined;
1066
+ canTransferOwnership?: boolean | undefined;
1067
+ canViewManagement?: boolean | undefined;
1068
+ } | undefined;
1069
+ management_sections?: CircleManagementSection[] | undefined;
1070
+ group_rules_summary?: string | null | undefined;
1071
+ welcome_message?: string | null | undefined;
1072
+ canonical_path?: string | null | undefined;
1073
+ actor?: {
1074
+ isMember: boolean;
1075
+ role: import("../services/circles.js").CircleActorRole;
1076
+ hasPendingRequest: boolean;
1077
+ capabilities: {
1078
+ is_owner: boolean;
1079
+ is_moderator: boolean;
1080
+ moderation_level: CircleRole;
1081
+ permissions: import("../index.js").CirclePermissionKey[];
1082
+ can: Record<string, boolean>;
1083
+ canJoin: boolean;
1084
+ canLeave: boolean;
1085
+ canRequestToJoin: boolean;
1086
+ canInvite: boolean;
1087
+ canManage: boolean;
1088
+ canManageMembers: boolean;
1089
+ canManageRoles: boolean;
1090
+ canReviewRequests: boolean;
1091
+ canManageReports: boolean;
1092
+ canManageBans: boolean;
1093
+ canManageMutes: boolean;
1094
+ canViewAuditLog: boolean;
1095
+ canManageAutomod: boolean;
1096
+ canManageSettings: boolean;
1097
+ canTransferOwnership: boolean;
1098
+ canViewManagement: boolean;
1099
+ };
1100
+ managementSections: CircleManagementSection[];
1101
+ } | undefined;
1102
+ creator?: {
1103
+ id: string;
1104
+ name: string;
1105
+ handle: string;
1106
+ avatar: string | null;
1107
+ avatar_url: string | null;
1108
+ bio?: string | null | undefined;
1109
+ is_following?: boolean | undefined;
1110
+ is_followed_by?: boolean | undefined;
1111
+ } | undefined;
1112
+ }[];
1113
+ currentCircle: {
1114
+ id: string;
1115
+ name: string;
1116
+ slug: string;
1117
+ description?: string | null | undefined;
1118
+ visibility: import("../index.js").CircleVisibility;
1119
+ is_hidden: boolean;
1120
+ owner_id?: string | null | undefined;
1121
+ meta: Record<string, unknown>;
1122
+ cover_photo_url?: string | null | undefined;
1123
+ cover_photo_media_id?: string | null | undefined;
1124
+ created_at: string;
1125
+ updated_at: string;
1126
+ is_member?: boolean | undefined;
1127
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
1128
+ member_count?: number | undefined;
1129
+ can_join?: boolean | undefined;
1130
+ can_manage?: boolean | undefined;
1131
+ can_manage_members?: boolean | undefined;
1132
+ can_invite?: boolean | undefined;
1133
+ can_leave?: boolean | undefined;
1134
+ can_request_to_join?: boolean | undefined;
1135
+ has_pending_request?: boolean | undefined;
1136
+ actor_capabilities?: {
1137
+ is_owner?: boolean | undefined;
1138
+ is_moderator?: boolean | undefined;
1139
+ moderation_level?: CircleRole | undefined;
1140
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
1141
+ can?: Record<string, boolean> | undefined;
1142
+ canJoin?: boolean | undefined;
1143
+ canLeave?: boolean | undefined;
1144
+ canRequestToJoin?: boolean | undefined;
1145
+ canInvite?: boolean | undefined;
1146
+ canManage?: boolean | undefined;
1147
+ canManageMembers?: boolean | undefined;
1148
+ canManageRoles?: boolean | undefined;
1149
+ canReviewRequests?: boolean | undefined;
1150
+ canManageReports?: boolean | undefined;
1151
+ canManageBans?: boolean | undefined;
1152
+ canManageMutes?: boolean | undefined;
1153
+ canViewAuditLog?: boolean | undefined;
1154
+ canManageAutomod?: boolean | undefined;
1155
+ canManageSettings?: boolean | undefined;
1156
+ canTransferOwnership?: boolean | undefined;
1157
+ canViewManagement?: boolean | undefined;
1158
+ } | undefined;
1159
+ management_sections?: CircleManagementSection[] | undefined;
1160
+ group_rules_summary?: string | null | undefined;
1161
+ welcome_message?: string | null | undefined;
1162
+ canonical_path?: string | null | undefined;
1163
+ actor?: {
1164
+ isMember: boolean;
1165
+ role: import("../services/circles.js").CircleActorRole;
1166
+ hasPendingRequest: boolean;
1167
+ capabilities: {
1168
+ is_owner: boolean;
1169
+ is_moderator: boolean;
1170
+ moderation_level: CircleRole;
1171
+ permissions: import("../index.js").CirclePermissionKey[];
1172
+ can: Record<string, boolean>;
1173
+ canJoin: boolean;
1174
+ canLeave: boolean;
1175
+ canRequestToJoin: boolean;
1176
+ canInvite: boolean;
1177
+ canManage: boolean;
1178
+ canManageMembers: boolean;
1179
+ canManageRoles: boolean;
1180
+ canReviewRequests: boolean;
1181
+ canManageReports: boolean;
1182
+ canManageBans: boolean;
1183
+ canManageMutes: boolean;
1184
+ canViewAuditLog: boolean;
1185
+ canManageAutomod: boolean;
1186
+ canManageSettings: boolean;
1187
+ canTransferOwnership: boolean;
1188
+ canViewManagement: boolean;
1189
+ };
1190
+ managementSections: CircleManagementSection[];
1191
+ } | undefined;
1192
+ creator?: {
1193
+ id: string;
1194
+ name: string;
1195
+ handle: string;
1196
+ avatar: string | null;
1197
+ avatar_url: string | null;
1198
+ bio?: string | null | undefined;
1199
+ is_following?: boolean | undefined;
1200
+ is_followed_by?: boolean | undefined;
1201
+ } | undefined;
1202
+ } | null;
1203
+ members: Record<string, CircleMemberState[]>;
1204
+ joinRequests: Record<string, JoinRequest[]>;
1205
+ joinRequestsPagination: Record<string, CursorPaginationState>;
1206
+ managementActors: Record<string, CircleActorContext>;
1207
+ managementSections: Record<string, CircleManagementSection[]>;
1208
+ managementBootstrapLoading: Record<string, boolean>;
1209
+ managementBootstrapError: Record<string, string | null>;
1210
+ managementSectionLoading: Record<string, ManagementSectionLoadingState>;
1211
+ managementSectionErrors: Record<string, ManagementSectionErrorState>;
1212
+ managementBootstrappedAt: Record<string, string>;
1213
+ roleDefinitions: Record<string, CircleRoleDefinition[]>;
1214
+ roleDefinitionsPagination: Record<string, CursorPaginationState>;
1215
+ managementCounts: Record<string, CircleManagementCounts>;
1216
+ managementPermissionCatalog: Record<string, CircleManagementPermissionCatalogEntry[]>;
1217
+ roleAssignments: Record<string, CircleRoleAssignment[]>;
1218
+ roleAssignmentsPagination: Record<string, CursorPaginationState>;
1219
+ reports: Record<string, CircleModerationReport[]>;
1220
+ reportsPagination: Record<string, CursorPaginationState>;
1221
+ bans: Record<string, CircleBanRecord[]>;
1222
+ bansPagination: Record<string, CursorPaginationState>;
1223
+ mutes: Record<string, CircleMuteRecord[]>;
1224
+ mutesPagination: Record<string, CursorPaginationState>;
1225
+ auditLog: Record<string, CircleModerationAuditLogEntry[]>;
1226
+ auditLogPagination: Record<string, CursorPaginationState>;
1227
+ automodRules: Record<string, CircleAutomodRule[]>;
1228
+ automodRulesPagination: Record<string, CursorPaginationState>;
1229
+ pendingRequestCircleIds: string[];
1230
+ loading: boolean;
1231
+ error: string | null;
1232
+ pagination: {
1233
+ cursor: string | null;
1234
+ hasMore: boolean;
1235
+ };
1236
+ activeFilterKey: string;
1237
+ circlesByFilter: Record<string, Circle[]>;
1238
+ paginationByFilter: Record<string, CursorPaginationState>;
1239
+ fetchedFilterKeys: Record<string, boolean>;
1240
+ membersPagination: Record<string, {
1241
+ cursor: string | null;
1242
+ hasMore: boolean;
1243
+ }>;
1244
+ filters: {
1245
+ visibility?: import("../index.js").CircleVisibility | undefined;
1246
+ membership?: "joined" | "managed" | "available" | undefined;
1247
+ search?: string | undefined;
1248
+ };
1249
+ } & import("pinia").PiniaCustomStateProperties<CirclesState>) => (id: string) => Circle | null;
1250
+ getCircleMembers: (state: {
1251
+ circles: {
1252
+ id: string;
1253
+ name: string;
1254
+ slug: string;
1255
+ description?: string | null | undefined;
1256
+ visibility: import("../index.js").CircleVisibility;
1257
+ is_hidden: boolean;
1258
+ owner_id?: string | null | undefined;
1259
+ meta: Record<string, unknown>;
1260
+ cover_photo_url?: string | null | undefined;
1261
+ cover_photo_media_id?: string | null | undefined;
1262
+ created_at: string;
1263
+ updated_at: string;
1264
+ is_member?: boolean | undefined;
1265
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
1266
+ member_count?: number | undefined;
1267
+ can_join?: boolean | undefined;
1268
+ can_manage?: boolean | undefined;
1269
+ can_manage_members?: boolean | undefined;
1270
+ can_invite?: boolean | undefined;
1271
+ can_leave?: boolean | undefined;
1272
+ can_request_to_join?: boolean | undefined;
1273
+ has_pending_request?: boolean | undefined;
1274
+ actor_capabilities?: {
1275
+ is_owner?: boolean | undefined;
1276
+ is_moderator?: boolean | undefined;
1277
+ moderation_level?: CircleRole | undefined;
1278
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
1279
+ can?: Record<string, boolean> | undefined;
1280
+ canJoin?: boolean | undefined;
1281
+ canLeave?: boolean | undefined;
1282
+ canRequestToJoin?: boolean | undefined;
1283
+ canInvite?: boolean | undefined;
1284
+ canManage?: boolean | undefined;
1285
+ canManageMembers?: boolean | undefined;
1286
+ canManageRoles?: boolean | undefined;
1287
+ canReviewRequests?: boolean | undefined;
1288
+ canManageReports?: boolean | undefined;
1289
+ canManageBans?: boolean | undefined;
1290
+ canManageMutes?: boolean | undefined;
1291
+ canViewAuditLog?: boolean | undefined;
1292
+ canManageAutomod?: boolean | undefined;
1293
+ canManageSettings?: boolean | undefined;
1294
+ canTransferOwnership?: boolean | undefined;
1295
+ canViewManagement?: boolean | undefined;
1296
+ } | undefined;
1297
+ management_sections?: CircleManagementSection[] | undefined;
1298
+ group_rules_summary?: string | null | undefined;
1299
+ welcome_message?: string | null | undefined;
1300
+ canonical_path?: string | null | undefined;
1301
+ actor?: {
1302
+ isMember: boolean;
1303
+ role: import("../services/circles.js").CircleActorRole;
1304
+ hasPendingRequest: boolean;
1305
+ capabilities: {
1306
+ is_owner: boolean;
1307
+ is_moderator: boolean;
1308
+ moderation_level: CircleRole;
1309
+ permissions: import("../index.js").CirclePermissionKey[];
1310
+ can: Record<string, boolean>;
1311
+ canJoin: boolean;
1312
+ canLeave: boolean;
1313
+ canRequestToJoin: boolean;
1314
+ canInvite: boolean;
1315
+ canManage: boolean;
1316
+ canManageMembers: boolean;
1317
+ canManageRoles: boolean;
1318
+ canReviewRequests: boolean;
1319
+ canManageReports: boolean;
1320
+ canManageBans: boolean;
1321
+ canManageMutes: boolean;
1322
+ canViewAuditLog: boolean;
1323
+ canManageAutomod: boolean;
1324
+ canManageSettings: boolean;
1325
+ canTransferOwnership: boolean;
1326
+ canViewManagement: boolean;
1327
+ };
1328
+ managementSections: CircleManagementSection[];
1329
+ } | undefined;
1330
+ creator?: {
1331
+ id: string;
1332
+ name: string;
1333
+ handle: string;
1334
+ avatar: string | null;
1335
+ avatar_url: string | null;
1336
+ bio?: string | null | undefined;
1337
+ is_following?: boolean | undefined;
1338
+ is_followed_by?: boolean | undefined;
1339
+ } | undefined;
1340
+ }[];
1341
+ currentCircle: {
1342
+ id: string;
1343
+ name: string;
1344
+ slug: string;
1345
+ description?: string | null | undefined;
1346
+ visibility: import("../index.js").CircleVisibility;
1347
+ is_hidden: boolean;
1348
+ owner_id?: string | null | undefined;
1349
+ meta: Record<string, unknown>;
1350
+ cover_photo_url?: string | null | undefined;
1351
+ cover_photo_media_id?: string | null | undefined;
1352
+ created_at: string;
1353
+ updated_at: string;
1354
+ is_member?: boolean | undefined;
1355
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
1356
+ member_count?: number | undefined;
1357
+ can_join?: boolean | undefined;
1358
+ can_manage?: boolean | undefined;
1359
+ can_manage_members?: boolean | undefined;
1360
+ can_invite?: boolean | undefined;
1361
+ can_leave?: boolean | undefined;
1362
+ can_request_to_join?: boolean | undefined;
1363
+ has_pending_request?: boolean | undefined;
1364
+ actor_capabilities?: {
1365
+ is_owner?: boolean | undefined;
1366
+ is_moderator?: boolean | undefined;
1367
+ moderation_level?: CircleRole | undefined;
1368
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
1369
+ can?: Record<string, boolean> | undefined;
1370
+ canJoin?: boolean | undefined;
1371
+ canLeave?: boolean | undefined;
1372
+ canRequestToJoin?: boolean | undefined;
1373
+ canInvite?: boolean | undefined;
1374
+ canManage?: boolean | undefined;
1375
+ canManageMembers?: boolean | undefined;
1376
+ canManageRoles?: boolean | undefined;
1377
+ canReviewRequests?: boolean | undefined;
1378
+ canManageReports?: boolean | undefined;
1379
+ canManageBans?: boolean | undefined;
1380
+ canManageMutes?: boolean | undefined;
1381
+ canViewAuditLog?: boolean | undefined;
1382
+ canManageAutomod?: boolean | undefined;
1383
+ canManageSettings?: boolean | undefined;
1384
+ canTransferOwnership?: boolean | undefined;
1385
+ canViewManagement?: boolean | undefined;
1386
+ } | undefined;
1387
+ management_sections?: CircleManagementSection[] | undefined;
1388
+ group_rules_summary?: string | null | undefined;
1389
+ welcome_message?: string | null | undefined;
1390
+ canonical_path?: string | null | undefined;
1391
+ actor?: {
1392
+ isMember: boolean;
1393
+ role: import("../services/circles.js").CircleActorRole;
1394
+ hasPendingRequest: boolean;
1395
+ capabilities: {
1396
+ is_owner: boolean;
1397
+ is_moderator: boolean;
1398
+ moderation_level: CircleRole;
1399
+ permissions: import("../index.js").CirclePermissionKey[];
1400
+ can: Record<string, boolean>;
1401
+ canJoin: boolean;
1402
+ canLeave: boolean;
1403
+ canRequestToJoin: boolean;
1404
+ canInvite: boolean;
1405
+ canManage: boolean;
1406
+ canManageMembers: boolean;
1407
+ canManageRoles: boolean;
1408
+ canReviewRequests: boolean;
1409
+ canManageReports: boolean;
1410
+ canManageBans: boolean;
1411
+ canManageMutes: boolean;
1412
+ canViewAuditLog: boolean;
1413
+ canManageAutomod: boolean;
1414
+ canManageSettings: boolean;
1415
+ canTransferOwnership: boolean;
1416
+ canViewManagement: boolean;
1417
+ };
1418
+ managementSections: CircleManagementSection[];
1419
+ } | undefined;
1420
+ creator?: {
1421
+ id: string;
1422
+ name: string;
1423
+ handle: string;
1424
+ avatar: string | null;
1425
+ avatar_url: string | null;
1426
+ bio?: string | null | undefined;
1427
+ is_following?: boolean | undefined;
1428
+ is_followed_by?: boolean | undefined;
1429
+ } | undefined;
1430
+ } | null;
1431
+ members: Record<string, CircleMemberState[]>;
1432
+ joinRequests: Record<string, JoinRequest[]>;
1433
+ joinRequestsPagination: Record<string, CursorPaginationState>;
1434
+ managementActors: Record<string, CircleActorContext>;
1435
+ managementSections: Record<string, CircleManagementSection[]>;
1436
+ managementBootstrapLoading: Record<string, boolean>;
1437
+ managementBootstrapError: Record<string, string | null>;
1438
+ managementSectionLoading: Record<string, ManagementSectionLoadingState>;
1439
+ managementSectionErrors: Record<string, ManagementSectionErrorState>;
1440
+ managementBootstrappedAt: Record<string, string>;
1441
+ roleDefinitions: Record<string, CircleRoleDefinition[]>;
1442
+ roleDefinitionsPagination: Record<string, CursorPaginationState>;
1443
+ managementCounts: Record<string, CircleManagementCounts>;
1444
+ managementPermissionCatalog: Record<string, CircleManagementPermissionCatalogEntry[]>;
1445
+ roleAssignments: Record<string, CircleRoleAssignment[]>;
1446
+ roleAssignmentsPagination: Record<string, CursorPaginationState>;
1447
+ reports: Record<string, CircleModerationReport[]>;
1448
+ reportsPagination: Record<string, CursorPaginationState>;
1449
+ bans: Record<string, CircleBanRecord[]>;
1450
+ bansPagination: Record<string, CursorPaginationState>;
1451
+ mutes: Record<string, CircleMuteRecord[]>;
1452
+ mutesPagination: Record<string, CursorPaginationState>;
1453
+ auditLog: Record<string, CircleModerationAuditLogEntry[]>;
1454
+ auditLogPagination: Record<string, CursorPaginationState>;
1455
+ automodRules: Record<string, CircleAutomodRule[]>;
1456
+ automodRulesPagination: Record<string, CursorPaginationState>;
1457
+ pendingRequestCircleIds: string[];
1458
+ loading: boolean;
1459
+ error: string | null;
1460
+ pagination: {
1461
+ cursor: string | null;
1462
+ hasMore: boolean;
1463
+ };
1464
+ activeFilterKey: string;
1465
+ circlesByFilter: Record<string, Circle[]>;
1466
+ paginationByFilter: Record<string, CursorPaginationState>;
1467
+ fetchedFilterKeys: Record<string, boolean>;
1468
+ membersPagination: Record<string, {
1469
+ cursor: string | null;
1470
+ hasMore: boolean;
1471
+ }>;
1472
+ filters: {
1473
+ visibility?: import("../index.js").CircleVisibility | undefined;
1474
+ membership?: "joined" | "managed" | "available" | undefined;
1475
+ search?: string | undefined;
1476
+ };
1477
+ } & import("pinia").PiniaCustomStateProperties<CirclesState>) => (circleId: string) => CircleMember[];
1478
+ getMemberCount: (state: {
1479
+ circles: {
1480
+ id: string;
1481
+ name: string;
1482
+ slug: string;
1483
+ description?: string | null | undefined;
1484
+ visibility: import("../index.js").CircleVisibility;
1485
+ is_hidden: boolean;
1486
+ owner_id?: string | null | undefined;
1487
+ meta: Record<string, unknown>;
1488
+ cover_photo_url?: string | null | undefined;
1489
+ cover_photo_media_id?: string | null | undefined;
1490
+ created_at: string;
1491
+ updated_at: string;
1492
+ is_member?: boolean | undefined;
1493
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
1494
+ member_count?: number | undefined;
1495
+ can_join?: boolean | undefined;
1496
+ can_manage?: boolean | undefined;
1497
+ can_manage_members?: boolean | undefined;
1498
+ can_invite?: boolean | undefined;
1499
+ can_leave?: boolean | undefined;
1500
+ can_request_to_join?: boolean | undefined;
1501
+ has_pending_request?: boolean | undefined;
1502
+ actor_capabilities?: {
1503
+ is_owner?: boolean | undefined;
1504
+ is_moderator?: boolean | undefined;
1505
+ moderation_level?: CircleRole | undefined;
1506
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
1507
+ can?: Record<string, boolean> | undefined;
1508
+ canJoin?: boolean | undefined;
1509
+ canLeave?: boolean | undefined;
1510
+ canRequestToJoin?: boolean | undefined;
1511
+ canInvite?: boolean | undefined;
1512
+ canManage?: boolean | undefined;
1513
+ canManageMembers?: boolean | undefined;
1514
+ canManageRoles?: boolean | undefined;
1515
+ canReviewRequests?: boolean | undefined;
1516
+ canManageReports?: boolean | undefined;
1517
+ canManageBans?: boolean | undefined;
1518
+ canManageMutes?: boolean | undefined;
1519
+ canViewAuditLog?: boolean | undefined;
1520
+ canManageAutomod?: boolean | undefined;
1521
+ canManageSettings?: boolean | undefined;
1522
+ canTransferOwnership?: boolean | undefined;
1523
+ canViewManagement?: boolean | undefined;
1524
+ } | undefined;
1525
+ management_sections?: CircleManagementSection[] | undefined;
1526
+ group_rules_summary?: string | null | undefined;
1527
+ welcome_message?: string | null | undefined;
1528
+ canonical_path?: string | null | undefined;
1529
+ actor?: {
1530
+ isMember: boolean;
1531
+ role: import("../services/circles.js").CircleActorRole;
1532
+ hasPendingRequest: boolean;
1533
+ capabilities: {
1534
+ is_owner: boolean;
1535
+ is_moderator: boolean;
1536
+ moderation_level: CircleRole;
1537
+ permissions: import("../index.js").CirclePermissionKey[];
1538
+ can: Record<string, boolean>;
1539
+ canJoin: boolean;
1540
+ canLeave: boolean;
1541
+ canRequestToJoin: boolean;
1542
+ canInvite: boolean;
1543
+ canManage: boolean;
1544
+ canManageMembers: boolean;
1545
+ canManageRoles: boolean;
1546
+ canReviewRequests: boolean;
1547
+ canManageReports: boolean;
1548
+ canManageBans: boolean;
1549
+ canManageMutes: boolean;
1550
+ canViewAuditLog: boolean;
1551
+ canManageAutomod: boolean;
1552
+ canManageSettings: boolean;
1553
+ canTransferOwnership: boolean;
1554
+ canViewManagement: boolean;
1555
+ };
1556
+ managementSections: CircleManagementSection[];
1557
+ } | undefined;
1558
+ creator?: {
1559
+ id: string;
1560
+ name: string;
1561
+ handle: string;
1562
+ avatar: string | null;
1563
+ avatar_url: string | null;
1564
+ bio?: string | null | undefined;
1565
+ is_following?: boolean | undefined;
1566
+ is_followed_by?: boolean | undefined;
1567
+ } | undefined;
1568
+ }[];
1569
+ currentCircle: {
1570
+ id: string;
1571
+ name: string;
1572
+ slug: string;
1573
+ description?: string | null | undefined;
1574
+ visibility: import("../index.js").CircleVisibility;
1575
+ is_hidden: boolean;
1576
+ owner_id?: string | null | undefined;
1577
+ meta: Record<string, unknown>;
1578
+ cover_photo_url?: string | null | undefined;
1579
+ cover_photo_media_id?: string | null | undefined;
1580
+ created_at: string;
1581
+ updated_at: string;
1582
+ is_member?: boolean | undefined;
1583
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
1584
+ member_count?: number | undefined;
1585
+ can_join?: boolean | undefined;
1586
+ can_manage?: boolean | undefined;
1587
+ can_manage_members?: boolean | undefined;
1588
+ can_invite?: boolean | undefined;
1589
+ can_leave?: boolean | undefined;
1590
+ can_request_to_join?: boolean | undefined;
1591
+ has_pending_request?: boolean | undefined;
1592
+ actor_capabilities?: {
1593
+ is_owner?: boolean | undefined;
1594
+ is_moderator?: boolean | undefined;
1595
+ moderation_level?: CircleRole | undefined;
1596
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
1597
+ can?: Record<string, boolean> | undefined;
1598
+ canJoin?: boolean | undefined;
1599
+ canLeave?: boolean | undefined;
1600
+ canRequestToJoin?: boolean | undefined;
1601
+ canInvite?: boolean | undefined;
1602
+ canManage?: boolean | undefined;
1603
+ canManageMembers?: boolean | undefined;
1604
+ canManageRoles?: boolean | undefined;
1605
+ canReviewRequests?: boolean | undefined;
1606
+ canManageReports?: boolean | undefined;
1607
+ canManageBans?: boolean | undefined;
1608
+ canManageMutes?: boolean | undefined;
1609
+ canViewAuditLog?: boolean | undefined;
1610
+ canManageAutomod?: boolean | undefined;
1611
+ canManageSettings?: boolean | undefined;
1612
+ canTransferOwnership?: boolean | undefined;
1613
+ canViewManagement?: boolean | undefined;
1614
+ } | undefined;
1615
+ management_sections?: CircleManagementSection[] | undefined;
1616
+ group_rules_summary?: string | null | undefined;
1617
+ welcome_message?: string | null | undefined;
1618
+ canonical_path?: string | null | undefined;
1619
+ actor?: {
1620
+ isMember: boolean;
1621
+ role: import("../services/circles.js").CircleActorRole;
1622
+ hasPendingRequest: boolean;
1623
+ capabilities: {
1624
+ is_owner: boolean;
1625
+ is_moderator: boolean;
1626
+ moderation_level: CircleRole;
1627
+ permissions: import("../index.js").CirclePermissionKey[];
1628
+ can: Record<string, boolean>;
1629
+ canJoin: boolean;
1630
+ canLeave: boolean;
1631
+ canRequestToJoin: boolean;
1632
+ canInvite: boolean;
1633
+ canManage: boolean;
1634
+ canManageMembers: boolean;
1635
+ canManageRoles: boolean;
1636
+ canReviewRequests: boolean;
1637
+ canManageReports: boolean;
1638
+ canManageBans: boolean;
1639
+ canManageMutes: boolean;
1640
+ canViewAuditLog: boolean;
1641
+ canManageAutomod: boolean;
1642
+ canManageSettings: boolean;
1643
+ canTransferOwnership: boolean;
1644
+ canViewManagement: boolean;
1645
+ };
1646
+ managementSections: CircleManagementSection[];
1647
+ } | undefined;
1648
+ creator?: {
1649
+ id: string;
1650
+ name: string;
1651
+ handle: string;
1652
+ avatar: string | null;
1653
+ avatar_url: string | null;
1654
+ bio?: string | null | undefined;
1655
+ is_following?: boolean | undefined;
1656
+ is_followed_by?: boolean | undefined;
1657
+ } | undefined;
1658
+ } | null;
1659
+ members: Record<string, CircleMemberState[]>;
1660
+ joinRequests: Record<string, JoinRequest[]>;
1661
+ joinRequestsPagination: Record<string, CursorPaginationState>;
1662
+ managementActors: Record<string, CircleActorContext>;
1663
+ managementSections: Record<string, CircleManagementSection[]>;
1664
+ managementBootstrapLoading: Record<string, boolean>;
1665
+ managementBootstrapError: Record<string, string | null>;
1666
+ managementSectionLoading: Record<string, ManagementSectionLoadingState>;
1667
+ managementSectionErrors: Record<string, ManagementSectionErrorState>;
1668
+ managementBootstrappedAt: Record<string, string>;
1669
+ roleDefinitions: Record<string, CircleRoleDefinition[]>;
1670
+ roleDefinitionsPagination: Record<string, CursorPaginationState>;
1671
+ managementCounts: Record<string, CircleManagementCounts>;
1672
+ managementPermissionCatalog: Record<string, CircleManagementPermissionCatalogEntry[]>;
1673
+ roleAssignments: Record<string, CircleRoleAssignment[]>;
1674
+ roleAssignmentsPagination: Record<string, CursorPaginationState>;
1675
+ reports: Record<string, CircleModerationReport[]>;
1676
+ reportsPagination: Record<string, CursorPaginationState>;
1677
+ bans: Record<string, CircleBanRecord[]>;
1678
+ bansPagination: Record<string, CursorPaginationState>;
1679
+ mutes: Record<string, CircleMuteRecord[]>;
1680
+ mutesPagination: Record<string, CursorPaginationState>;
1681
+ auditLog: Record<string, CircleModerationAuditLogEntry[]>;
1682
+ auditLogPagination: Record<string, CursorPaginationState>;
1683
+ automodRules: Record<string, CircleAutomodRule[]>;
1684
+ automodRulesPagination: Record<string, CursorPaginationState>;
1685
+ pendingRequestCircleIds: string[];
1686
+ loading: boolean;
1687
+ error: string | null;
1688
+ pagination: {
1689
+ cursor: string | null;
1690
+ hasMore: boolean;
1691
+ };
1692
+ activeFilterKey: string;
1693
+ circlesByFilter: Record<string, Circle[]>;
1694
+ paginationByFilter: Record<string, CursorPaginationState>;
1695
+ fetchedFilterKeys: Record<string, boolean>;
1696
+ membersPagination: Record<string, {
1697
+ cursor: string | null;
1698
+ hasMore: boolean;
1699
+ }>;
1700
+ filters: {
1701
+ visibility?: import("../index.js").CircleVisibility | undefined;
1702
+ membership?: "joined" | "managed" | "available" | undefined;
1703
+ search?: string | undefined;
1704
+ };
1705
+ } & import("pinia").PiniaCustomStateProperties<CirclesState>) => (circleId: string) => number;
1706
+ getManagementActor: (state: {
1707
+ circles: {
1708
+ id: string;
1709
+ name: string;
1710
+ slug: string;
1711
+ description?: string | null | undefined;
1712
+ visibility: import("../index.js").CircleVisibility;
1713
+ is_hidden: boolean;
1714
+ owner_id?: string | null | undefined;
1715
+ meta: Record<string, unknown>;
1716
+ cover_photo_url?: string | null | undefined;
1717
+ cover_photo_media_id?: string | null | undefined;
1718
+ created_at: string;
1719
+ updated_at: string;
1720
+ is_member?: boolean | undefined;
1721
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
1722
+ member_count?: number | undefined;
1723
+ can_join?: boolean | undefined;
1724
+ can_manage?: boolean | undefined;
1725
+ can_manage_members?: boolean | undefined;
1726
+ can_invite?: boolean | undefined;
1727
+ can_leave?: boolean | undefined;
1728
+ can_request_to_join?: boolean | undefined;
1729
+ has_pending_request?: boolean | undefined;
1730
+ actor_capabilities?: {
1731
+ is_owner?: boolean | undefined;
1732
+ is_moderator?: boolean | undefined;
1733
+ moderation_level?: CircleRole | undefined;
1734
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
1735
+ can?: Record<string, boolean> | undefined;
1736
+ canJoin?: boolean | undefined;
1737
+ canLeave?: boolean | undefined;
1738
+ canRequestToJoin?: boolean | undefined;
1739
+ canInvite?: boolean | undefined;
1740
+ canManage?: boolean | undefined;
1741
+ canManageMembers?: boolean | undefined;
1742
+ canManageRoles?: boolean | undefined;
1743
+ canReviewRequests?: boolean | undefined;
1744
+ canManageReports?: boolean | undefined;
1745
+ canManageBans?: boolean | undefined;
1746
+ canManageMutes?: boolean | undefined;
1747
+ canViewAuditLog?: boolean | undefined;
1748
+ canManageAutomod?: boolean | undefined;
1749
+ canManageSettings?: boolean | undefined;
1750
+ canTransferOwnership?: boolean | undefined;
1751
+ canViewManagement?: boolean | undefined;
1752
+ } | undefined;
1753
+ management_sections?: CircleManagementSection[] | undefined;
1754
+ group_rules_summary?: string | null | undefined;
1755
+ welcome_message?: string | null | undefined;
1756
+ canonical_path?: string | null | undefined;
1757
+ actor?: {
1758
+ isMember: boolean;
1759
+ role: import("../services/circles.js").CircleActorRole;
1760
+ hasPendingRequest: boolean;
1761
+ capabilities: {
1762
+ is_owner: boolean;
1763
+ is_moderator: boolean;
1764
+ moderation_level: CircleRole;
1765
+ permissions: import("../index.js").CirclePermissionKey[];
1766
+ can: Record<string, boolean>;
1767
+ canJoin: boolean;
1768
+ canLeave: boolean;
1769
+ canRequestToJoin: boolean;
1770
+ canInvite: boolean;
1771
+ canManage: boolean;
1772
+ canManageMembers: boolean;
1773
+ canManageRoles: boolean;
1774
+ canReviewRequests: boolean;
1775
+ canManageReports: boolean;
1776
+ canManageBans: boolean;
1777
+ canManageMutes: boolean;
1778
+ canViewAuditLog: boolean;
1779
+ canManageAutomod: boolean;
1780
+ canManageSettings: boolean;
1781
+ canTransferOwnership: boolean;
1782
+ canViewManagement: boolean;
1783
+ };
1784
+ managementSections: CircleManagementSection[];
1785
+ } | undefined;
1786
+ creator?: {
1787
+ id: string;
1788
+ name: string;
1789
+ handle: string;
1790
+ avatar: string | null;
1791
+ avatar_url: string | null;
1792
+ bio?: string | null | undefined;
1793
+ is_following?: boolean | undefined;
1794
+ is_followed_by?: boolean | undefined;
1795
+ } | undefined;
1796
+ }[];
1797
+ currentCircle: {
1798
+ id: string;
1799
+ name: string;
1800
+ slug: string;
1801
+ description?: string | null | undefined;
1802
+ visibility: import("../index.js").CircleVisibility;
1803
+ is_hidden: boolean;
1804
+ owner_id?: string | null | undefined;
1805
+ meta: Record<string, unknown>;
1806
+ cover_photo_url?: string | null | undefined;
1807
+ cover_photo_media_id?: string | null | undefined;
1808
+ created_at: string;
1809
+ updated_at: string;
1810
+ is_member?: boolean | undefined;
1811
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
1812
+ member_count?: number | undefined;
1813
+ can_join?: boolean | undefined;
1814
+ can_manage?: boolean | undefined;
1815
+ can_manage_members?: boolean | undefined;
1816
+ can_invite?: boolean | undefined;
1817
+ can_leave?: boolean | undefined;
1818
+ can_request_to_join?: boolean | undefined;
1819
+ has_pending_request?: boolean | undefined;
1820
+ actor_capabilities?: {
1821
+ is_owner?: boolean | undefined;
1822
+ is_moderator?: boolean | undefined;
1823
+ moderation_level?: CircleRole | undefined;
1824
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
1825
+ can?: Record<string, boolean> | undefined;
1826
+ canJoin?: boolean | undefined;
1827
+ canLeave?: boolean | undefined;
1828
+ canRequestToJoin?: boolean | undefined;
1829
+ canInvite?: boolean | undefined;
1830
+ canManage?: boolean | undefined;
1831
+ canManageMembers?: boolean | undefined;
1832
+ canManageRoles?: boolean | undefined;
1833
+ canReviewRequests?: boolean | undefined;
1834
+ canManageReports?: boolean | undefined;
1835
+ canManageBans?: boolean | undefined;
1836
+ canManageMutes?: boolean | undefined;
1837
+ canViewAuditLog?: boolean | undefined;
1838
+ canManageAutomod?: boolean | undefined;
1839
+ canManageSettings?: boolean | undefined;
1840
+ canTransferOwnership?: boolean | undefined;
1841
+ canViewManagement?: boolean | undefined;
1842
+ } | undefined;
1843
+ management_sections?: CircleManagementSection[] | undefined;
1844
+ group_rules_summary?: string | null | undefined;
1845
+ welcome_message?: string | null | undefined;
1846
+ canonical_path?: string | null | undefined;
1847
+ actor?: {
1848
+ isMember: boolean;
1849
+ role: import("../services/circles.js").CircleActorRole;
1850
+ hasPendingRequest: boolean;
1851
+ capabilities: {
1852
+ is_owner: boolean;
1853
+ is_moderator: boolean;
1854
+ moderation_level: CircleRole;
1855
+ permissions: import("../index.js").CirclePermissionKey[];
1856
+ can: Record<string, boolean>;
1857
+ canJoin: boolean;
1858
+ canLeave: boolean;
1859
+ canRequestToJoin: boolean;
1860
+ canInvite: boolean;
1861
+ canManage: boolean;
1862
+ canManageMembers: boolean;
1863
+ canManageRoles: boolean;
1864
+ canReviewRequests: boolean;
1865
+ canManageReports: boolean;
1866
+ canManageBans: boolean;
1867
+ canManageMutes: boolean;
1868
+ canViewAuditLog: boolean;
1869
+ canManageAutomod: boolean;
1870
+ canManageSettings: boolean;
1871
+ canTransferOwnership: boolean;
1872
+ canViewManagement: boolean;
1873
+ };
1874
+ managementSections: CircleManagementSection[];
1875
+ } | undefined;
1876
+ creator?: {
1877
+ id: string;
1878
+ name: string;
1879
+ handle: string;
1880
+ avatar: string | null;
1881
+ avatar_url: string | null;
1882
+ bio?: string | null | undefined;
1883
+ is_following?: boolean | undefined;
1884
+ is_followed_by?: boolean | undefined;
1885
+ } | undefined;
1886
+ } | null;
1887
+ members: Record<string, CircleMemberState[]>;
1888
+ joinRequests: Record<string, JoinRequest[]>;
1889
+ joinRequestsPagination: Record<string, CursorPaginationState>;
1890
+ managementActors: Record<string, CircleActorContext>;
1891
+ managementSections: Record<string, CircleManagementSection[]>;
1892
+ managementBootstrapLoading: Record<string, boolean>;
1893
+ managementBootstrapError: Record<string, string | null>;
1894
+ managementSectionLoading: Record<string, ManagementSectionLoadingState>;
1895
+ managementSectionErrors: Record<string, ManagementSectionErrorState>;
1896
+ managementBootstrappedAt: Record<string, string>;
1897
+ roleDefinitions: Record<string, CircleRoleDefinition[]>;
1898
+ roleDefinitionsPagination: Record<string, CursorPaginationState>;
1899
+ managementCounts: Record<string, CircleManagementCounts>;
1900
+ managementPermissionCatalog: Record<string, CircleManagementPermissionCatalogEntry[]>;
1901
+ roleAssignments: Record<string, CircleRoleAssignment[]>;
1902
+ roleAssignmentsPagination: Record<string, CursorPaginationState>;
1903
+ reports: Record<string, CircleModerationReport[]>;
1904
+ reportsPagination: Record<string, CursorPaginationState>;
1905
+ bans: Record<string, CircleBanRecord[]>;
1906
+ bansPagination: Record<string, CursorPaginationState>;
1907
+ mutes: Record<string, CircleMuteRecord[]>;
1908
+ mutesPagination: Record<string, CursorPaginationState>;
1909
+ auditLog: Record<string, CircleModerationAuditLogEntry[]>;
1910
+ auditLogPagination: Record<string, CursorPaginationState>;
1911
+ automodRules: Record<string, CircleAutomodRule[]>;
1912
+ automodRulesPagination: Record<string, CursorPaginationState>;
1913
+ pendingRequestCircleIds: string[];
1914
+ loading: boolean;
1915
+ error: string | null;
1916
+ pagination: {
1917
+ cursor: string | null;
1918
+ hasMore: boolean;
1919
+ };
1920
+ activeFilterKey: string;
1921
+ circlesByFilter: Record<string, Circle[]>;
1922
+ paginationByFilter: Record<string, CursorPaginationState>;
1923
+ fetchedFilterKeys: Record<string, boolean>;
1924
+ membersPagination: Record<string, {
1925
+ cursor: string | null;
1926
+ hasMore: boolean;
1927
+ }>;
1928
+ filters: {
1929
+ visibility?: import("../index.js").CircleVisibility | undefined;
1930
+ membership?: "joined" | "managed" | "available" | undefined;
1931
+ search?: string | undefined;
1932
+ };
1933
+ } & import("pinia").PiniaCustomStateProperties<CirclesState>) => (circleId: string) => CircleActorContext | null;
1934
+ getManagementSections: (state: {
1935
+ circles: {
1936
+ id: string;
1937
+ name: string;
1938
+ slug: string;
1939
+ description?: string | null | undefined;
1940
+ visibility: import("../index.js").CircleVisibility;
1941
+ is_hidden: boolean;
1942
+ owner_id?: string | null | undefined;
1943
+ meta: Record<string, unknown>;
1944
+ cover_photo_url?: string | null | undefined;
1945
+ cover_photo_media_id?: string | null | undefined;
1946
+ created_at: string;
1947
+ updated_at: string;
1948
+ is_member?: boolean | undefined;
1949
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
1950
+ member_count?: number | undefined;
1951
+ can_join?: boolean | undefined;
1952
+ can_manage?: boolean | undefined;
1953
+ can_manage_members?: boolean | undefined;
1954
+ can_invite?: boolean | undefined;
1955
+ can_leave?: boolean | undefined;
1956
+ can_request_to_join?: boolean | undefined;
1957
+ has_pending_request?: boolean | undefined;
1958
+ actor_capabilities?: {
1959
+ is_owner?: boolean | undefined;
1960
+ is_moderator?: boolean | undefined;
1961
+ moderation_level?: CircleRole | undefined;
1962
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
1963
+ can?: Record<string, boolean> | undefined;
1964
+ canJoin?: boolean | undefined;
1965
+ canLeave?: boolean | undefined;
1966
+ canRequestToJoin?: boolean | undefined;
1967
+ canInvite?: boolean | undefined;
1968
+ canManage?: boolean | undefined;
1969
+ canManageMembers?: boolean | undefined;
1970
+ canManageRoles?: boolean | undefined;
1971
+ canReviewRequests?: boolean | undefined;
1972
+ canManageReports?: boolean | undefined;
1973
+ canManageBans?: boolean | undefined;
1974
+ canManageMutes?: boolean | undefined;
1975
+ canViewAuditLog?: boolean | undefined;
1976
+ canManageAutomod?: boolean | undefined;
1977
+ canManageSettings?: boolean | undefined;
1978
+ canTransferOwnership?: boolean | undefined;
1979
+ canViewManagement?: boolean | undefined;
1980
+ } | undefined;
1981
+ management_sections?: CircleManagementSection[] | undefined;
1982
+ group_rules_summary?: string | null | undefined;
1983
+ welcome_message?: string | null | undefined;
1984
+ canonical_path?: string | null | undefined;
1985
+ actor?: {
1986
+ isMember: boolean;
1987
+ role: import("../services/circles.js").CircleActorRole;
1988
+ hasPendingRequest: boolean;
1989
+ capabilities: {
1990
+ is_owner: boolean;
1991
+ is_moderator: boolean;
1992
+ moderation_level: CircleRole;
1993
+ permissions: import("../index.js").CirclePermissionKey[];
1994
+ can: Record<string, boolean>;
1995
+ canJoin: boolean;
1996
+ canLeave: boolean;
1997
+ canRequestToJoin: boolean;
1998
+ canInvite: boolean;
1999
+ canManage: boolean;
2000
+ canManageMembers: boolean;
2001
+ canManageRoles: boolean;
2002
+ canReviewRequests: boolean;
2003
+ canManageReports: boolean;
2004
+ canManageBans: boolean;
2005
+ canManageMutes: boolean;
2006
+ canViewAuditLog: boolean;
2007
+ canManageAutomod: boolean;
2008
+ canManageSettings: boolean;
2009
+ canTransferOwnership: boolean;
2010
+ canViewManagement: boolean;
2011
+ };
2012
+ managementSections: CircleManagementSection[];
2013
+ } | undefined;
2014
+ creator?: {
2015
+ id: string;
2016
+ name: string;
2017
+ handle: string;
2018
+ avatar: string | null;
2019
+ avatar_url: string | null;
2020
+ bio?: string | null | undefined;
2021
+ is_following?: boolean | undefined;
2022
+ is_followed_by?: boolean | undefined;
2023
+ } | undefined;
2024
+ }[];
2025
+ currentCircle: {
2026
+ id: string;
2027
+ name: string;
2028
+ slug: string;
2029
+ description?: string | null | undefined;
2030
+ visibility: import("../index.js").CircleVisibility;
2031
+ is_hidden: boolean;
2032
+ owner_id?: string | null | undefined;
2033
+ meta: Record<string, unknown>;
2034
+ cover_photo_url?: string | null | undefined;
2035
+ cover_photo_media_id?: string | null | undefined;
2036
+ created_at: string;
2037
+ updated_at: string;
2038
+ is_member?: boolean | undefined;
2039
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
2040
+ member_count?: number | undefined;
2041
+ can_join?: boolean | undefined;
2042
+ can_manage?: boolean | undefined;
2043
+ can_manage_members?: boolean | undefined;
2044
+ can_invite?: boolean | undefined;
2045
+ can_leave?: boolean | undefined;
2046
+ can_request_to_join?: boolean | undefined;
2047
+ has_pending_request?: boolean | undefined;
2048
+ actor_capabilities?: {
2049
+ is_owner?: boolean | undefined;
2050
+ is_moderator?: boolean | undefined;
2051
+ moderation_level?: CircleRole | undefined;
2052
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
2053
+ can?: Record<string, boolean> | undefined;
2054
+ canJoin?: boolean | undefined;
2055
+ canLeave?: boolean | undefined;
2056
+ canRequestToJoin?: boolean | undefined;
2057
+ canInvite?: boolean | undefined;
2058
+ canManage?: boolean | undefined;
2059
+ canManageMembers?: boolean | undefined;
2060
+ canManageRoles?: boolean | undefined;
2061
+ canReviewRequests?: boolean | undefined;
2062
+ canManageReports?: boolean | undefined;
2063
+ canManageBans?: boolean | undefined;
2064
+ canManageMutes?: boolean | undefined;
2065
+ canViewAuditLog?: boolean | undefined;
2066
+ canManageAutomod?: boolean | undefined;
2067
+ canManageSettings?: boolean | undefined;
2068
+ canTransferOwnership?: boolean | undefined;
2069
+ canViewManagement?: boolean | undefined;
2070
+ } | undefined;
2071
+ management_sections?: CircleManagementSection[] | undefined;
2072
+ group_rules_summary?: string | null | undefined;
2073
+ welcome_message?: string | null | undefined;
2074
+ canonical_path?: string | null | undefined;
2075
+ actor?: {
2076
+ isMember: boolean;
2077
+ role: import("../services/circles.js").CircleActorRole;
2078
+ hasPendingRequest: boolean;
2079
+ capabilities: {
2080
+ is_owner: boolean;
2081
+ is_moderator: boolean;
2082
+ moderation_level: CircleRole;
2083
+ permissions: import("../index.js").CirclePermissionKey[];
2084
+ can: Record<string, boolean>;
2085
+ canJoin: boolean;
2086
+ canLeave: boolean;
2087
+ canRequestToJoin: boolean;
2088
+ canInvite: boolean;
2089
+ canManage: boolean;
2090
+ canManageMembers: boolean;
2091
+ canManageRoles: boolean;
2092
+ canReviewRequests: boolean;
2093
+ canManageReports: boolean;
2094
+ canManageBans: boolean;
2095
+ canManageMutes: boolean;
2096
+ canViewAuditLog: boolean;
2097
+ canManageAutomod: boolean;
2098
+ canManageSettings: boolean;
2099
+ canTransferOwnership: boolean;
2100
+ canViewManagement: boolean;
2101
+ };
2102
+ managementSections: CircleManagementSection[];
2103
+ } | undefined;
2104
+ creator?: {
2105
+ id: string;
2106
+ name: string;
2107
+ handle: string;
2108
+ avatar: string | null;
2109
+ avatar_url: string | null;
2110
+ bio?: string | null | undefined;
2111
+ is_following?: boolean | undefined;
2112
+ is_followed_by?: boolean | undefined;
2113
+ } | undefined;
2114
+ } | null;
2115
+ members: Record<string, CircleMemberState[]>;
2116
+ joinRequests: Record<string, JoinRequest[]>;
2117
+ joinRequestsPagination: Record<string, CursorPaginationState>;
2118
+ managementActors: Record<string, CircleActorContext>;
2119
+ managementSections: Record<string, CircleManagementSection[]>;
2120
+ managementBootstrapLoading: Record<string, boolean>;
2121
+ managementBootstrapError: Record<string, string | null>;
2122
+ managementSectionLoading: Record<string, ManagementSectionLoadingState>;
2123
+ managementSectionErrors: Record<string, ManagementSectionErrorState>;
2124
+ managementBootstrappedAt: Record<string, string>;
2125
+ roleDefinitions: Record<string, CircleRoleDefinition[]>;
2126
+ roleDefinitionsPagination: Record<string, CursorPaginationState>;
2127
+ managementCounts: Record<string, CircleManagementCounts>;
2128
+ managementPermissionCatalog: Record<string, CircleManagementPermissionCatalogEntry[]>;
2129
+ roleAssignments: Record<string, CircleRoleAssignment[]>;
2130
+ roleAssignmentsPagination: Record<string, CursorPaginationState>;
2131
+ reports: Record<string, CircleModerationReport[]>;
2132
+ reportsPagination: Record<string, CursorPaginationState>;
2133
+ bans: Record<string, CircleBanRecord[]>;
2134
+ bansPagination: Record<string, CursorPaginationState>;
2135
+ mutes: Record<string, CircleMuteRecord[]>;
2136
+ mutesPagination: Record<string, CursorPaginationState>;
2137
+ auditLog: Record<string, CircleModerationAuditLogEntry[]>;
2138
+ auditLogPagination: Record<string, CursorPaginationState>;
2139
+ automodRules: Record<string, CircleAutomodRule[]>;
2140
+ automodRulesPagination: Record<string, CursorPaginationState>;
2141
+ pendingRequestCircleIds: string[];
2142
+ loading: boolean;
2143
+ error: string | null;
2144
+ pagination: {
2145
+ cursor: string | null;
2146
+ hasMore: boolean;
2147
+ };
2148
+ activeFilterKey: string;
2149
+ circlesByFilter: Record<string, Circle[]>;
2150
+ paginationByFilter: Record<string, CursorPaginationState>;
2151
+ fetchedFilterKeys: Record<string, boolean>;
2152
+ membersPagination: Record<string, {
2153
+ cursor: string | null;
2154
+ hasMore: boolean;
2155
+ }>;
2156
+ filters: {
2157
+ visibility?: import("../index.js").CircleVisibility | undefined;
2158
+ membership?: "joined" | "managed" | "available" | undefined;
2159
+ search?: string | undefined;
2160
+ };
2161
+ } & import("pinia").PiniaCustomStateProperties<CirclesState>) => (circleId: string) => ("overview" | "members" | "requests" | "content" | "discussions" | "events" | "roles" | "reports" | "bans" | "mutes" | "audit" | "automod" | "settings")[];
2162
+ getRoleDefinitions: (state: {
2163
+ circles: {
2164
+ id: string;
2165
+ name: string;
2166
+ slug: string;
2167
+ description?: string | null | undefined;
2168
+ visibility: import("../index.js").CircleVisibility;
2169
+ is_hidden: boolean;
2170
+ owner_id?: string | null | undefined;
2171
+ meta: Record<string, unknown>;
2172
+ cover_photo_url?: string | null | undefined;
2173
+ cover_photo_media_id?: string | null | undefined;
2174
+ created_at: string;
2175
+ updated_at: string;
2176
+ is_member?: boolean | undefined;
2177
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
2178
+ member_count?: number | undefined;
2179
+ can_join?: boolean | undefined;
2180
+ can_manage?: boolean | undefined;
2181
+ can_manage_members?: boolean | undefined;
2182
+ can_invite?: boolean | undefined;
2183
+ can_leave?: boolean | undefined;
2184
+ can_request_to_join?: boolean | undefined;
2185
+ has_pending_request?: boolean | undefined;
2186
+ actor_capabilities?: {
2187
+ is_owner?: boolean | undefined;
2188
+ is_moderator?: boolean | undefined;
2189
+ moderation_level?: CircleRole | undefined;
2190
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
2191
+ can?: Record<string, boolean> | undefined;
2192
+ canJoin?: boolean | undefined;
2193
+ canLeave?: boolean | undefined;
2194
+ canRequestToJoin?: boolean | undefined;
2195
+ canInvite?: boolean | undefined;
2196
+ canManage?: boolean | undefined;
2197
+ canManageMembers?: boolean | undefined;
2198
+ canManageRoles?: boolean | undefined;
2199
+ canReviewRequests?: boolean | undefined;
2200
+ canManageReports?: boolean | undefined;
2201
+ canManageBans?: boolean | undefined;
2202
+ canManageMutes?: boolean | undefined;
2203
+ canViewAuditLog?: boolean | undefined;
2204
+ canManageAutomod?: boolean | undefined;
2205
+ canManageSettings?: boolean | undefined;
2206
+ canTransferOwnership?: boolean | undefined;
2207
+ canViewManagement?: boolean | undefined;
2208
+ } | undefined;
2209
+ management_sections?: CircleManagementSection[] | undefined;
2210
+ group_rules_summary?: string | null | undefined;
2211
+ welcome_message?: string | null | undefined;
2212
+ canonical_path?: string | null | undefined;
2213
+ actor?: {
2214
+ isMember: boolean;
2215
+ role: import("../services/circles.js").CircleActorRole;
2216
+ hasPendingRequest: boolean;
2217
+ capabilities: {
2218
+ is_owner: boolean;
2219
+ is_moderator: boolean;
2220
+ moderation_level: CircleRole;
2221
+ permissions: import("../index.js").CirclePermissionKey[];
2222
+ can: Record<string, boolean>;
2223
+ canJoin: boolean;
2224
+ canLeave: boolean;
2225
+ canRequestToJoin: boolean;
2226
+ canInvite: boolean;
2227
+ canManage: boolean;
2228
+ canManageMembers: boolean;
2229
+ canManageRoles: boolean;
2230
+ canReviewRequests: boolean;
2231
+ canManageReports: boolean;
2232
+ canManageBans: boolean;
2233
+ canManageMutes: boolean;
2234
+ canViewAuditLog: boolean;
2235
+ canManageAutomod: boolean;
2236
+ canManageSettings: boolean;
2237
+ canTransferOwnership: boolean;
2238
+ canViewManagement: boolean;
2239
+ };
2240
+ managementSections: CircleManagementSection[];
2241
+ } | undefined;
2242
+ creator?: {
2243
+ id: string;
2244
+ name: string;
2245
+ handle: string;
2246
+ avatar: string | null;
2247
+ avatar_url: string | null;
2248
+ bio?: string | null | undefined;
2249
+ is_following?: boolean | undefined;
2250
+ is_followed_by?: boolean | undefined;
2251
+ } | undefined;
2252
+ }[];
2253
+ currentCircle: {
2254
+ id: string;
2255
+ name: string;
2256
+ slug: string;
2257
+ description?: string | null | undefined;
2258
+ visibility: import("../index.js").CircleVisibility;
2259
+ is_hidden: boolean;
2260
+ owner_id?: string | null | undefined;
2261
+ meta: Record<string, unknown>;
2262
+ cover_photo_url?: string | null | undefined;
2263
+ cover_photo_media_id?: string | null | undefined;
2264
+ created_at: string;
2265
+ updated_at: string;
2266
+ is_member?: boolean | undefined;
2267
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
2268
+ member_count?: number | undefined;
2269
+ can_join?: boolean | undefined;
2270
+ can_manage?: boolean | undefined;
2271
+ can_manage_members?: boolean | undefined;
2272
+ can_invite?: boolean | undefined;
2273
+ can_leave?: boolean | undefined;
2274
+ can_request_to_join?: boolean | undefined;
2275
+ has_pending_request?: boolean | undefined;
2276
+ actor_capabilities?: {
2277
+ is_owner?: boolean | undefined;
2278
+ is_moderator?: boolean | undefined;
2279
+ moderation_level?: CircleRole | undefined;
2280
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
2281
+ can?: Record<string, boolean> | undefined;
2282
+ canJoin?: boolean | undefined;
2283
+ canLeave?: boolean | undefined;
2284
+ canRequestToJoin?: boolean | undefined;
2285
+ canInvite?: boolean | undefined;
2286
+ canManage?: boolean | undefined;
2287
+ canManageMembers?: boolean | undefined;
2288
+ canManageRoles?: boolean | undefined;
2289
+ canReviewRequests?: boolean | undefined;
2290
+ canManageReports?: boolean | undefined;
2291
+ canManageBans?: boolean | undefined;
2292
+ canManageMutes?: boolean | undefined;
2293
+ canViewAuditLog?: boolean | undefined;
2294
+ canManageAutomod?: boolean | undefined;
2295
+ canManageSettings?: boolean | undefined;
2296
+ canTransferOwnership?: boolean | undefined;
2297
+ canViewManagement?: boolean | undefined;
2298
+ } | undefined;
2299
+ management_sections?: CircleManagementSection[] | undefined;
2300
+ group_rules_summary?: string | null | undefined;
2301
+ welcome_message?: string | null | undefined;
2302
+ canonical_path?: string | null | undefined;
2303
+ actor?: {
2304
+ isMember: boolean;
2305
+ role: import("../services/circles.js").CircleActorRole;
2306
+ hasPendingRequest: boolean;
2307
+ capabilities: {
2308
+ is_owner: boolean;
2309
+ is_moderator: boolean;
2310
+ moderation_level: CircleRole;
2311
+ permissions: import("../index.js").CirclePermissionKey[];
2312
+ can: Record<string, boolean>;
2313
+ canJoin: boolean;
2314
+ canLeave: boolean;
2315
+ canRequestToJoin: boolean;
2316
+ canInvite: boolean;
2317
+ canManage: boolean;
2318
+ canManageMembers: boolean;
2319
+ canManageRoles: boolean;
2320
+ canReviewRequests: boolean;
2321
+ canManageReports: boolean;
2322
+ canManageBans: boolean;
2323
+ canManageMutes: boolean;
2324
+ canViewAuditLog: boolean;
2325
+ canManageAutomod: boolean;
2326
+ canManageSettings: boolean;
2327
+ canTransferOwnership: boolean;
2328
+ canViewManagement: boolean;
2329
+ };
2330
+ managementSections: CircleManagementSection[];
2331
+ } | undefined;
2332
+ creator?: {
2333
+ id: string;
2334
+ name: string;
2335
+ handle: string;
2336
+ avatar: string | null;
2337
+ avatar_url: string | null;
2338
+ bio?: string | null | undefined;
2339
+ is_following?: boolean | undefined;
2340
+ is_followed_by?: boolean | undefined;
2341
+ } | undefined;
2342
+ } | null;
2343
+ members: Record<string, CircleMemberState[]>;
2344
+ joinRequests: Record<string, JoinRequest[]>;
2345
+ joinRequestsPagination: Record<string, CursorPaginationState>;
2346
+ managementActors: Record<string, CircleActorContext>;
2347
+ managementSections: Record<string, CircleManagementSection[]>;
2348
+ managementBootstrapLoading: Record<string, boolean>;
2349
+ managementBootstrapError: Record<string, string | null>;
2350
+ managementSectionLoading: Record<string, ManagementSectionLoadingState>;
2351
+ managementSectionErrors: Record<string, ManagementSectionErrorState>;
2352
+ managementBootstrappedAt: Record<string, string>;
2353
+ roleDefinitions: Record<string, CircleRoleDefinition[]>;
2354
+ roleDefinitionsPagination: Record<string, CursorPaginationState>;
2355
+ managementCounts: Record<string, CircleManagementCounts>;
2356
+ managementPermissionCatalog: Record<string, CircleManagementPermissionCatalogEntry[]>;
2357
+ roleAssignments: Record<string, CircleRoleAssignment[]>;
2358
+ roleAssignmentsPagination: Record<string, CursorPaginationState>;
2359
+ reports: Record<string, CircleModerationReport[]>;
2360
+ reportsPagination: Record<string, CursorPaginationState>;
2361
+ bans: Record<string, CircleBanRecord[]>;
2362
+ bansPagination: Record<string, CursorPaginationState>;
2363
+ mutes: Record<string, CircleMuteRecord[]>;
2364
+ mutesPagination: Record<string, CursorPaginationState>;
2365
+ auditLog: Record<string, CircleModerationAuditLogEntry[]>;
2366
+ auditLogPagination: Record<string, CursorPaginationState>;
2367
+ automodRules: Record<string, CircleAutomodRule[]>;
2368
+ automodRulesPagination: Record<string, CursorPaginationState>;
2369
+ pendingRequestCircleIds: string[];
2370
+ loading: boolean;
2371
+ error: string | null;
2372
+ pagination: {
2373
+ cursor: string | null;
2374
+ hasMore: boolean;
2375
+ };
2376
+ activeFilterKey: string;
2377
+ circlesByFilter: Record<string, Circle[]>;
2378
+ paginationByFilter: Record<string, CursorPaginationState>;
2379
+ fetchedFilterKeys: Record<string, boolean>;
2380
+ membersPagination: Record<string, {
2381
+ cursor: string | null;
2382
+ hasMore: boolean;
2383
+ }>;
2384
+ filters: {
2385
+ visibility?: import("../index.js").CircleVisibility | undefined;
2386
+ membership?: "joined" | "managed" | "available" | undefined;
2387
+ search?: string | undefined;
2388
+ };
2389
+ } & import("pinia").PiniaCustomStateProperties<CirclesState>) => (circleId: string) => CircleRoleDefinition[];
2390
+ getManagementCounts: (state: {
2391
+ circles: {
2392
+ id: string;
2393
+ name: string;
2394
+ slug: string;
2395
+ description?: string | null | undefined;
2396
+ visibility: import("../index.js").CircleVisibility;
2397
+ is_hidden: boolean;
2398
+ owner_id?: string | null | undefined;
2399
+ meta: Record<string, unknown>;
2400
+ cover_photo_url?: string | null | undefined;
2401
+ cover_photo_media_id?: string | null | undefined;
2402
+ created_at: string;
2403
+ updated_at: string;
2404
+ is_member?: boolean | undefined;
2405
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
2406
+ member_count?: number | undefined;
2407
+ can_join?: boolean | undefined;
2408
+ can_manage?: boolean | undefined;
2409
+ can_manage_members?: boolean | undefined;
2410
+ can_invite?: boolean | undefined;
2411
+ can_leave?: boolean | undefined;
2412
+ can_request_to_join?: boolean | undefined;
2413
+ has_pending_request?: boolean | undefined;
2414
+ actor_capabilities?: {
2415
+ is_owner?: boolean | undefined;
2416
+ is_moderator?: boolean | undefined;
2417
+ moderation_level?: CircleRole | undefined;
2418
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
2419
+ can?: Record<string, boolean> | undefined;
2420
+ canJoin?: boolean | undefined;
2421
+ canLeave?: boolean | undefined;
2422
+ canRequestToJoin?: boolean | undefined;
2423
+ canInvite?: boolean | undefined;
2424
+ canManage?: boolean | undefined;
2425
+ canManageMembers?: boolean | undefined;
2426
+ canManageRoles?: boolean | undefined;
2427
+ canReviewRequests?: boolean | undefined;
2428
+ canManageReports?: boolean | undefined;
2429
+ canManageBans?: boolean | undefined;
2430
+ canManageMutes?: boolean | undefined;
2431
+ canViewAuditLog?: boolean | undefined;
2432
+ canManageAutomod?: boolean | undefined;
2433
+ canManageSettings?: boolean | undefined;
2434
+ canTransferOwnership?: boolean | undefined;
2435
+ canViewManagement?: boolean | undefined;
2436
+ } | undefined;
2437
+ management_sections?: CircleManagementSection[] | undefined;
2438
+ group_rules_summary?: string | null | undefined;
2439
+ welcome_message?: string | null | undefined;
2440
+ canonical_path?: string | null | undefined;
2441
+ actor?: {
2442
+ isMember: boolean;
2443
+ role: import("../services/circles.js").CircleActorRole;
2444
+ hasPendingRequest: boolean;
2445
+ capabilities: {
2446
+ is_owner: boolean;
2447
+ is_moderator: boolean;
2448
+ moderation_level: CircleRole;
2449
+ permissions: import("../index.js").CirclePermissionKey[];
2450
+ can: Record<string, boolean>;
2451
+ canJoin: boolean;
2452
+ canLeave: boolean;
2453
+ canRequestToJoin: boolean;
2454
+ canInvite: boolean;
2455
+ canManage: boolean;
2456
+ canManageMembers: boolean;
2457
+ canManageRoles: boolean;
2458
+ canReviewRequests: boolean;
2459
+ canManageReports: boolean;
2460
+ canManageBans: boolean;
2461
+ canManageMutes: boolean;
2462
+ canViewAuditLog: boolean;
2463
+ canManageAutomod: boolean;
2464
+ canManageSettings: boolean;
2465
+ canTransferOwnership: boolean;
2466
+ canViewManagement: boolean;
2467
+ };
2468
+ managementSections: CircleManagementSection[];
2469
+ } | undefined;
2470
+ creator?: {
2471
+ id: string;
2472
+ name: string;
2473
+ handle: string;
2474
+ avatar: string | null;
2475
+ avatar_url: string | null;
2476
+ bio?: string | null | undefined;
2477
+ is_following?: boolean | undefined;
2478
+ is_followed_by?: boolean | undefined;
2479
+ } | undefined;
2480
+ }[];
2481
+ currentCircle: {
2482
+ id: string;
2483
+ name: string;
2484
+ slug: string;
2485
+ description?: string | null | undefined;
2486
+ visibility: import("../index.js").CircleVisibility;
2487
+ is_hidden: boolean;
2488
+ owner_id?: string | null | undefined;
2489
+ meta: Record<string, unknown>;
2490
+ cover_photo_url?: string | null | undefined;
2491
+ cover_photo_media_id?: string | null | undefined;
2492
+ created_at: string;
2493
+ updated_at: string;
2494
+ is_member?: boolean | undefined;
2495
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
2496
+ member_count?: number | undefined;
2497
+ can_join?: boolean | undefined;
2498
+ can_manage?: boolean | undefined;
2499
+ can_manage_members?: boolean | undefined;
2500
+ can_invite?: boolean | undefined;
2501
+ can_leave?: boolean | undefined;
2502
+ can_request_to_join?: boolean | undefined;
2503
+ has_pending_request?: boolean | undefined;
2504
+ actor_capabilities?: {
2505
+ is_owner?: boolean | undefined;
2506
+ is_moderator?: boolean | undefined;
2507
+ moderation_level?: CircleRole | undefined;
2508
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
2509
+ can?: Record<string, boolean> | undefined;
2510
+ canJoin?: boolean | undefined;
2511
+ canLeave?: boolean | undefined;
2512
+ canRequestToJoin?: boolean | undefined;
2513
+ canInvite?: boolean | undefined;
2514
+ canManage?: boolean | undefined;
2515
+ canManageMembers?: boolean | undefined;
2516
+ canManageRoles?: boolean | undefined;
2517
+ canReviewRequests?: boolean | undefined;
2518
+ canManageReports?: boolean | undefined;
2519
+ canManageBans?: boolean | undefined;
2520
+ canManageMutes?: boolean | undefined;
2521
+ canViewAuditLog?: boolean | undefined;
2522
+ canManageAutomod?: boolean | undefined;
2523
+ canManageSettings?: boolean | undefined;
2524
+ canTransferOwnership?: boolean | undefined;
2525
+ canViewManagement?: boolean | undefined;
2526
+ } | undefined;
2527
+ management_sections?: CircleManagementSection[] | undefined;
2528
+ group_rules_summary?: string | null | undefined;
2529
+ welcome_message?: string | null | undefined;
2530
+ canonical_path?: string | null | undefined;
2531
+ actor?: {
2532
+ isMember: boolean;
2533
+ role: import("../services/circles.js").CircleActorRole;
2534
+ hasPendingRequest: boolean;
2535
+ capabilities: {
2536
+ is_owner: boolean;
2537
+ is_moderator: boolean;
2538
+ moderation_level: CircleRole;
2539
+ permissions: import("../index.js").CirclePermissionKey[];
2540
+ can: Record<string, boolean>;
2541
+ canJoin: boolean;
2542
+ canLeave: boolean;
2543
+ canRequestToJoin: boolean;
2544
+ canInvite: boolean;
2545
+ canManage: boolean;
2546
+ canManageMembers: boolean;
2547
+ canManageRoles: boolean;
2548
+ canReviewRequests: boolean;
2549
+ canManageReports: boolean;
2550
+ canManageBans: boolean;
2551
+ canManageMutes: boolean;
2552
+ canViewAuditLog: boolean;
2553
+ canManageAutomod: boolean;
2554
+ canManageSettings: boolean;
2555
+ canTransferOwnership: boolean;
2556
+ canViewManagement: boolean;
2557
+ };
2558
+ managementSections: CircleManagementSection[];
2559
+ } | undefined;
2560
+ creator?: {
2561
+ id: string;
2562
+ name: string;
2563
+ handle: string;
2564
+ avatar: string | null;
2565
+ avatar_url: string | null;
2566
+ bio?: string | null | undefined;
2567
+ is_following?: boolean | undefined;
2568
+ is_followed_by?: boolean | undefined;
2569
+ } | undefined;
2570
+ } | null;
2571
+ members: Record<string, CircleMemberState[]>;
2572
+ joinRequests: Record<string, JoinRequest[]>;
2573
+ joinRequestsPagination: Record<string, CursorPaginationState>;
2574
+ managementActors: Record<string, CircleActorContext>;
2575
+ managementSections: Record<string, CircleManagementSection[]>;
2576
+ managementBootstrapLoading: Record<string, boolean>;
2577
+ managementBootstrapError: Record<string, string | null>;
2578
+ managementSectionLoading: Record<string, ManagementSectionLoadingState>;
2579
+ managementSectionErrors: Record<string, ManagementSectionErrorState>;
2580
+ managementBootstrappedAt: Record<string, string>;
2581
+ roleDefinitions: Record<string, CircleRoleDefinition[]>;
2582
+ roleDefinitionsPagination: Record<string, CursorPaginationState>;
2583
+ managementCounts: Record<string, CircleManagementCounts>;
2584
+ managementPermissionCatalog: Record<string, CircleManagementPermissionCatalogEntry[]>;
2585
+ roleAssignments: Record<string, CircleRoleAssignment[]>;
2586
+ roleAssignmentsPagination: Record<string, CursorPaginationState>;
2587
+ reports: Record<string, CircleModerationReport[]>;
2588
+ reportsPagination: Record<string, CursorPaginationState>;
2589
+ bans: Record<string, CircleBanRecord[]>;
2590
+ bansPagination: Record<string, CursorPaginationState>;
2591
+ mutes: Record<string, CircleMuteRecord[]>;
2592
+ mutesPagination: Record<string, CursorPaginationState>;
2593
+ auditLog: Record<string, CircleModerationAuditLogEntry[]>;
2594
+ auditLogPagination: Record<string, CursorPaginationState>;
2595
+ automodRules: Record<string, CircleAutomodRule[]>;
2596
+ automodRulesPagination: Record<string, CursorPaginationState>;
2597
+ pendingRequestCircleIds: string[];
2598
+ loading: boolean;
2599
+ error: string | null;
2600
+ pagination: {
2601
+ cursor: string | null;
2602
+ hasMore: boolean;
2603
+ };
2604
+ activeFilterKey: string;
2605
+ circlesByFilter: Record<string, Circle[]>;
2606
+ paginationByFilter: Record<string, CursorPaginationState>;
2607
+ fetchedFilterKeys: Record<string, boolean>;
2608
+ membersPagination: Record<string, {
2609
+ cursor: string | null;
2610
+ hasMore: boolean;
2611
+ }>;
2612
+ filters: {
2613
+ visibility?: import("../index.js").CircleVisibility | undefined;
2614
+ membership?: "joined" | "managed" | "available" | undefined;
2615
+ search?: string | undefined;
2616
+ };
2617
+ } & import("pinia").PiniaCustomStateProperties<CirclesState>) => (circleId: string) => CircleManagementCounts;
2618
+ getManagementPermissionCatalog: (state: {
2619
+ circles: {
2620
+ id: string;
2621
+ name: string;
2622
+ slug: string;
2623
+ description?: string | null | undefined;
2624
+ visibility: import("../index.js").CircleVisibility;
2625
+ is_hidden: boolean;
2626
+ owner_id?: string | null | undefined;
2627
+ meta: Record<string, unknown>;
2628
+ cover_photo_url?: string | null | undefined;
2629
+ cover_photo_media_id?: string | null | undefined;
2630
+ created_at: string;
2631
+ updated_at: string;
2632
+ is_member?: boolean | undefined;
2633
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
2634
+ member_count?: number | undefined;
2635
+ can_join?: boolean | undefined;
2636
+ can_manage?: boolean | undefined;
2637
+ can_manage_members?: boolean | undefined;
2638
+ can_invite?: boolean | undefined;
2639
+ can_leave?: boolean | undefined;
2640
+ can_request_to_join?: boolean | undefined;
2641
+ has_pending_request?: boolean | undefined;
2642
+ actor_capabilities?: {
2643
+ is_owner?: boolean | undefined;
2644
+ is_moderator?: boolean | undefined;
2645
+ moderation_level?: CircleRole | undefined;
2646
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
2647
+ can?: Record<string, boolean> | undefined;
2648
+ canJoin?: boolean | undefined;
2649
+ canLeave?: boolean | undefined;
2650
+ canRequestToJoin?: boolean | undefined;
2651
+ canInvite?: boolean | undefined;
2652
+ canManage?: boolean | undefined;
2653
+ canManageMembers?: boolean | undefined;
2654
+ canManageRoles?: boolean | undefined;
2655
+ canReviewRequests?: boolean | undefined;
2656
+ canManageReports?: boolean | undefined;
2657
+ canManageBans?: boolean | undefined;
2658
+ canManageMutes?: boolean | undefined;
2659
+ canViewAuditLog?: boolean | undefined;
2660
+ canManageAutomod?: boolean | undefined;
2661
+ canManageSettings?: boolean | undefined;
2662
+ canTransferOwnership?: boolean | undefined;
2663
+ canViewManagement?: boolean | undefined;
2664
+ } | undefined;
2665
+ management_sections?: CircleManagementSection[] | undefined;
2666
+ group_rules_summary?: string | null | undefined;
2667
+ welcome_message?: string | null | undefined;
2668
+ canonical_path?: string | null | undefined;
2669
+ actor?: {
2670
+ isMember: boolean;
2671
+ role: import("../services/circles.js").CircleActorRole;
2672
+ hasPendingRequest: boolean;
2673
+ capabilities: {
2674
+ is_owner: boolean;
2675
+ is_moderator: boolean;
2676
+ moderation_level: CircleRole;
2677
+ permissions: import("../index.js").CirclePermissionKey[];
2678
+ can: Record<string, boolean>;
2679
+ canJoin: boolean;
2680
+ canLeave: boolean;
2681
+ canRequestToJoin: boolean;
2682
+ canInvite: boolean;
2683
+ canManage: boolean;
2684
+ canManageMembers: boolean;
2685
+ canManageRoles: boolean;
2686
+ canReviewRequests: boolean;
2687
+ canManageReports: boolean;
2688
+ canManageBans: boolean;
2689
+ canManageMutes: boolean;
2690
+ canViewAuditLog: boolean;
2691
+ canManageAutomod: boolean;
2692
+ canManageSettings: boolean;
2693
+ canTransferOwnership: boolean;
2694
+ canViewManagement: boolean;
2695
+ };
2696
+ managementSections: CircleManagementSection[];
2697
+ } | undefined;
2698
+ creator?: {
2699
+ id: string;
2700
+ name: string;
2701
+ handle: string;
2702
+ avatar: string | null;
2703
+ avatar_url: string | null;
2704
+ bio?: string | null | undefined;
2705
+ is_following?: boolean | undefined;
2706
+ is_followed_by?: boolean | undefined;
2707
+ } | undefined;
2708
+ }[];
2709
+ currentCircle: {
2710
+ id: string;
2711
+ name: string;
2712
+ slug: string;
2713
+ description?: string | null | undefined;
2714
+ visibility: import("../index.js").CircleVisibility;
2715
+ is_hidden: boolean;
2716
+ owner_id?: string | null | undefined;
2717
+ meta: Record<string, unknown>;
2718
+ cover_photo_url?: string | null | undefined;
2719
+ cover_photo_media_id?: string | null | undefined;
2720
+ created_at: string;
2721
+ updated_at: string;
2722
+ is_member?: boolean | undefined;
2723
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
2724
+ member_count?: number | undefined;
2725
+ can_join?: boolean | undefined;
2726
+ can_manage?: boolean | undefined;
2727
+ can_manage_members?: boolean | undefined;
2728
+ can_invite?: boolean | undefined;
2729
+ can_leave?: boolean | undefined;
2730
+ can_request_to_join?: boolean | undefined;
2731
+ has_pending_request?: boolean | undefined;
2732
+ actor_capabilities?: {
2733
+ is_owner?: boolean | undefined;
2734
+ is_moderator?: boolean | undefined;
2735
+ moderation_level?: CircleRole | undefined;
2736
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
2737
+ can?: Record<string, boolean> | undefined;
2738
+ canJoin?: boolean | undefined;
2739
+ canLeave?: boolean | undefined;
2740
+ canRequestToJoin?: boolean | undefined;
2741
+ canInvite?: boolean | undefined;
2742
+ canManage?: boolean | undefined;
2743
+ canManageMembers?: boolean | undefined;
2744
+ canManageRoles?: boolean | undefined;
2745
+ canReviewRequests?: boolean | undefined;
2746
+ canManageReports?: boolean | undefined;
2747
+ canManageBans?: boolean | undefined;
2748
+ canManageMutes?: boolean | undefined;
2749
+ canViewAuditLog?: boolean | undefined;
2750
+ canManageAutomod?: boolean | undefined;
2751
+ canManageSettings?: boolean | undefined;
2752
+ canTransferOwnership?: boolean | undefined;
2753
+ canViewManagement?: boolean | undefined;
2754
+ } | undefined;
2755
+ management_sections?: CircleManagementSection[] | undefined;
2756
+ group_rules_summary?: string | null | undefined;
2757
+ welcome_message?: string | null | undefined;
2758
+ canonical_path?: string | null | undefined;
2759
+ actor?: {
2760
+ isMember: boolean;
2761
+ role: import("../services/circles.js").CircleActorRole;
2762
+ hasPendingRequest: boolean;
2763
+ capabilities: {
2764
+ is_owner: boolean;
2765
+ is_moderator: boolean;
2766
+ moderation_level: CircleRole;
2767
+ permissions: import("../index.js").CirclePermissionKey[];
2768
+ can: Record<string, boolean>;
2769
+ canJoin: boolean;
2770
+ canLeave: boolean;
2771
+ canRequestToJoin: boolean;
2772
+ canInvite: boolean;
2773
+ canManage: boolean;
2774
+ canManageMembers: boolean;
2775
+ canManageRoles: boolean;
2776
+ canReviewRequests: boolean;
2777
+ canManageReports: boolean;
2778
+ canManageBans: boolean;
2779
+ canManageMutes: boolean;
2780
+ canViewAuditLog: boolean;
2781
+ canManageAutomod: boolean;
2782
+ canManageSettings: boolean;
2783
+ canTransferOwnership: boolean;
2784
+ canViewManagement: boolean;
2785
+ };
2786
+ managementSections: CircleManagementSection[];
2787
+ } | undefined;
2788
+ creator?: {
2789
+ id: string;
2790
+ name: string;
2791
+ handle: string;
2792
+ avatar: string | null;
2793
+ avatar_url: string | null;
2794
+ bio?: string | null | undefined;
2795
+ is_following?: boolean | undefined;
2796
+ is_followed_by?: boolean | undefined;
2797
+ } | undefined;
2798
+ } | null;
2799
+ members: Record<string, CircleMemberState[]>;
2800
+ joinRequests: Record<string, JoinRequest[]>;
2801
+ joinRequestsPagination: Record<string, CursorPaginationState>;
2802
+ managementActors: Record<string, CircleActorContext>;
2803
+ managementSections: Record<string, CircleManagementSection[]>;
2804
+ managementBootstrapLoading: Record<string, boolean>;
2805
+ managementBootstrapError: Record<string, string | null>;
2806
+ managementSectionLoading: Record<string, ManagementSectionLoadingState>;
2807
+ managementSectionErrors: Record<string, ManagementSectionErrorState>;
2808
+ managementBootstrappedAt: Record<string, string>;
2809
+ roleDefinitions: Record<string, CircleRoleDefinition[]>;
2810
+ roleDefinitionsPagination: Record<string, CursorPaginationState>;
2811
+ managementCounts: Record<string, CircleManagementCounts>;
2812
+ managementPermissionCatalog: Record<string, CircleManagementPermissionCatalogEntry[]>;
2813
+ roleAssignments: Record<string, CircleRoleAssignment[]>;
2814
+ roleAssignmentsPagination: Record<string, CursorPaginationState>;
2815
+ reports: Record<string, CircleModerationReport[]>;
2816
+ reportsPagination: Record<string, CursorPaginationState>;
2817
+ bans: Record<string, CircleBanRecord[]>;
2818
+ bansPagination: Record<string, CursorPaginationState>;
2819
+ mutes: Record<string, CircleMuteRecord[]>;
2820
+ mutesPagination: Record<string, CursorPaginationState>;
2821
+ auditLog: Record<string, CircleModerationAuditLogEntry[]>;
2822
+ auditLogPagination: Record<string, CursorPaginationState>;
2823
+ automodRules: Record<string, CircleAutomodRule[]>;
2824
+ automodRulesPagination: Record<string, CursorPaginationState>;
2825
+ pendingRequestCircleIds: string[];
2826
+ loading: boolean;
2827
+ error: string | null;
2828
+ pagination: {
2829
+ cursor: string | null;
2830
+ hasMore: boolean;
2831
+ };
2832
+ activeFilterKey: string;
2833
+ circlesByFilter: Record<string, Circle[]>;
2834
+ paginationByFilter: Record<string, CursorPaginationState>;
2835
+ fetchedFilterKeys: Record<string, boolean>;
2836
+ membersPagination: Record<string, {
2837
+ cursor: string | null;
2838
+ hasMore: boolean;
2839
+ }>;
2840
+ filters: {
2841
+ visibility?: import("../index.js").CircleVisibility | undefined;
2842
+ membership?: "joined" | "managed" | "available" | undefined;
2843
+ search?: string | undefined;
2844
+ };
2845
+ } & import("pinia").PiniaCustomStateProperties<CirclesState>) => (circleId: string) => CircleManagementPermissionCatalogEntry[];
2846
+ getRoleAssignments: (state: {
2847
+ circles: {
2848
+ id: string;
2849
+ name: string;
2850
+ slug: string;
2851
+ description?: string | null | undefined;
2852
+ visibility: import("../index.js").CircleVisibility;
2853
+ is_hidden: boolean;
2854
+ owner_id?: string | null | undefined;
2855
+ meta: Record<string, unknown>;
2856
+ cover_photo_url?: string | null | undefined;
2857
+ cover_photo_media_id?: string | null | undefined;
2858
+ created_at: string;
2859
+ updated_at: string;
2860
+ is_member?: boolean | undefined;
2861
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
2862
+ member_count?: number | undefined;
2863
+ can_join?: boolean | undefined;
2864
+ can_manage?: boolean | undefined;
2865
+ can_manage_members?: boolean | undefined;
2866
+ can_invite?: boolean | undefined;
2867
+ can_leave?: boolean | undefined;
2868
+ can_request_to_join?: boolean | undefined;
2869
+ has_pending_request?: boolean | undefined;
2870
+ actor_capabilities?: {
2871
+ is_owner?: boolean | undefined;
2872
+ is_moderator?: boolean | undefined;
2873
+ moderation_level?: CircleRole | undefined;
2874
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
2875
+ can?: Record<string, boolean> | undefined;
2876
+ canJoin?: boolean | undefined;
2877
+ canLeave?: boolean | undefined;
2878
+ canRequestToJoin?: boolean | undefined;
2879
+ canInvite?: boolean | undefined;
2880
+ canManage?: boolean | undefined;
2881
+ canManageMembers?: boolean | undefined;
2882
+ canManageRoles?: boolean | undefined;
2883
+ canReviewRequests?: boolean | undefined;
2884
+ canManageReports?: boolean | undefined;
2885
+ canManageBans?: boolean | undefined;
2886
+ canManageMutes?: boolean | undefined;
2887
+ canViewAuditLog?: boolean | undefined;
2888
+ canManageAutomod?: boolean | undefined;
2889
+ canManageSettings?: boolean | undefined;
2890
+ canTransferOwnership?: boolean | undefined;
2891
+ canViewManagement?: boolean | undefined;
2892
+ } | undefined;
2893
+ management_sections?: CircleManagementSection[] | undefined;
2894
+ group_rules_summary?: string | null | undefined;
2895
+ welcome_message?: string | null | undefined;
2896
+ canonical_path?: string | null | undefined;
2897
+ actor?: {
2898
+ isMember: boolean;
2899
+ role: import("../services/circles.js").CircleActorRole;
2900
+ hasPendingRequest: boolean;
2901
+ capabilities: {
2902
+ is_owner: boolean;
2903
+ is_moderator: boolean;
2904
+ moderation_level: CircleRole;
2905
+ permissions: import("../index.js").CirclePermissionKey[];
2906
+ can: Record<string, boolean>;
2907
+ canJoin: boolean;
2908
+ canLeave: boolean;
2909
+ canRequestToJoin: boolean;
2910
+ canInvite: boolean;
2911
+ canManage: boolean;
2912
+ canManageMembers: boolean;
2913
+ canManageRoles: boolean;
2914
+ canReviewRequests: boolean;
2915
+ canManageReports: boolean;
2916
+ canManageBans: boolean;
2917
+ canManageMutes: boolean;
2918
+ canViewAuditLog: boolean;
2919
+ canManageAutomod: boolean;
2920
+ canManageSettings: boolean;
2921
+ canTransferOwnership: boolean;
2922
+ canViewManagement: boolean;
2923
+ };
2924
+ managementSections: CircleManagementSection[];
2925
+ } | undefined;
2926
+ creator?: {
2927
+ id: string;
2928
+ name: string;
2929
+ handle: string;
2930
+ avatar: string | null;
2931
+ avatar_url: string | null;
2932
+ bio?: string | null | undefined;
2933
+ is_following?: boolean | undefined;
2934
+ is_followed_by?: boolean | undefined;
2935
+ } | undefined;
2936
+ }[];
2937
+ currentCircle: {
2938
+ id: string;
2939
+ name: string;
2940
+ slug: string;
2941
+ description?: string | null | undefined;
2942
+ visibility: import("../index.js").CircleVisibility;
2943
+ is_hidden: boolean;
2944
+ owner_id?: string | null | undefined;
2945
+ meta: Record<string, unknown>;
2946
+ cover_photo_url?: string | null | undefined;
2947
+ cover_photo_media_id?: string | null | undefined;
2948
+ created_at: string;
2949
+ updated_at: string;
2950
+ is_member?: boolean | undefined;
2951
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
2952
+ member_count?: number | undefined;
2953
+ can_join?: boolean | undefined;
2954
+ can_manage?: boolean | undefined;
2955
+ can_manage_members?: boolean | undefined;
2956
+ can_invite?: boolean | undefined;
2957
+ can_leave?: boolean | undefined;
2958
+ can_request_to_join?: boolean | undefined;
2959
+ has_pending_request?: boolean | undefined;
2960
+ actor_capabilities?: {
2961
+ is_owner?: boolean | undefined;
2962
+ is_moderator?: boolean | undefined;
2963
+ moderation_level?: CircleRole | undefined;
2964
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
2965
+ can?: Record<string, boolean> | undefined;
2966
+ canJoin?: boolean | undefined;
2967
+ canLeave?: boolean | undefined;
2968
+ canRequestToJoin?: boolean | undefined;
2969
+ canInvite?: boolean | undefined;
2970
+ canManage?: boolean | undefined;
2971
+ canManageMembers?: boolean | undefined;
2972
+ canManageRoles?: boolean | undefined;
2973
+ canReviewRequests?: boolean | undefined;
2974
+ canManageReports?: boolean | undefined;
2975
+ canManageBans?: boolean | undefined;
2976
+ canManageMutes?: boolean | undefined;
2977
+ canViewAuditLog?: boolean | undefined;
2978
+ canManageAutomod?: boolean | undefined;
2979
+ canManageSettings?: boolean | undefined;
2980
+ canTransferOwnership?: boolean | undefined;
2981
+ canViewManagement?: boolean | undefined;
2982
+ } | undefined;
2983
+ management_sections?: CircleManagementSection[] | undefined;
2984
+ group_rules_summary?: string | null | undefined;
2985
+ welcome_message?: string | null | undefined;
2986
+ canonical_path?: string | null | undefined;
2987
+ actor?: {
2988
+ isMember: boolean;
2989
+ role: import("../services/circles.js").CircleActorRole;
2990
+ hasPendingRequest: boolean;
2991
+ capabilities: {
2992
+ is_owner: boolean;
2993
+ is_moderator: boolean;
2994
+ moderation_level: CircleRole;
2995
+ permissions: import("../index.js").CirclePermissionKey[];
2996
+ can: Record<string, boolean>;
2997
+ canJoin: boolean;
2998
+ canLeave: boolean;
2999
+ canRequestToJoin: boolean;
3000
+ canInvite: boolean;
3001
+ canManage: boolean;
3002
+ canManageMembers: boolean;
3003
+ canManageRoles: boolean;
3004
+ canReviewRequests: boolean;
3005
+ canManageReports: boolean;
3006
+ canManageBans: boolean;
3007
+ canManageMutes: boolean;
3008
+ canViewAuditLog: boolean;
3009
+ canManageAutomod: boolean;
3010
+ canManageSettings: boolean;
3011
+ canTransferOwnership: boolean;
3012
+ canViewManagement: boolean;
3013
+ };
3014
+ managementSections: CircleManagementSection[];
3015
+ } | undefined;
3016
+ creator?: {
3017
+ id: string;
3018
+ name: string;
3019
+ handle: string;
3020
+ avatar: string | null;
3021
+ avatar_url: string | null;
3022
+ bio?: string | null | undefined;
3023
+ is_following?: boolean | undefined;
3024
+ is_followed_by?: boolean | undefined;
3025
+ } | undefined;
3026
+ } | null;
3027
+ members: Record<string, CircleMemberState[]>;
3028
+ joinRequests: Record<string, JoinRequest[]>;
3029
+ joinRequestsPagination: Record<string, CursorPaginationState>;
3030
+ managementActors: Record<string, CircleActorContext>;
3031
+ managementSections: Record<string, CircleManagementSection[]>;
3032
+ managementBootstrapLoading: Record<string, boolean>;
3033
+ managementBootstrapError: Record<string, string | null>;
3034
+ managementSectionLoading: Record<string, ManagementSectionLoadingState>;
3035
+ managementSectionErrors: Record<string, ManagementSectionErrorState>;
3036
+ managementBootstrappedAt: Record<string, string>;
3037
+ roleDefinitions: Record<string, CircleRoleDefinition[]>;
3038
+ roleDefinitionsPagination: Record<string, CursorPaginationState>;
3039
+ managementCounts: Record<string, CircleManagementCounts>;
3040
+ managementPermissionCatalog: Record<string, CircleManagementPermissionCatalogEntry[]>;
3041
+ roleAssignments: Record<string, CircleRoleAssignment[]>;
3042
+ roleAssignmentsPagination: Record<string, CursorPaginationState>;
3043
+ reports: Record<string, CircleModerationReport[]>;
3044
+ reportsPagination: Record<string, CursorPaginationState>;
3045
+ bans: Record<string, CircleBanRecord[]>;
3046
+ bansPagination: Record<string, CursorPaginationState>;
3047
+ mutes: Record<string, CircleMuteRecord[]>;
3048
+ mutesPagination: Record<string, CursorPaginationState>;
3049
+ auditLog: Record<string, CircleModerationAuditLogEntry[]>;
3050
+ auditLogPagination: Record<string, CursorPaginationState>;
3051
+ automodRules: Record<string, CircleAutomodRule[]>;
3052
+ automodRulesPagination: Record<string, CursorPaginationState>;
3053
+ pendingRequestCircleIds: string[];
3054
+ loading: boolean;
3055
+ error: string | null;
3056
+ pagination: {
3057
+ cursor: string | null;
3058
+ hasMore: boolean;
3059
+ };
3060
+ activeFilterKey: string;
3061
+ circlesByFilter: Record<string, Circle[]>;
3062
+ paginationByFilter: Record<string, CursorPaginationState>;
3063
+ fetchedFilterKeys: Record<string, boolean>;
3064
+ membersPagination: Record<string, {
3065
+ cursor: string | null;
3066
+ hasMore: boolean;
3067
+ }>;
3068
+ filters: {
3069
+ visibility?: import("../index.js").CircleVisibility | undefined;
3070
+ membership?: "joined" | "managed" | "available" | undefined;
3071
+ search?: string | undefined;
3072
+ };
3073
+ } & import("pinia").PiniaCustomStateProperties<CirclesState>) => (circleId: string) => CircleRoleAssignment[];
3074
+ getModerationReports: (state: {
3075
+ circles: {
3076
+ id: string;
3077
+ name: string;
3078
+ slug: string;
3079
+ description?: string | null | undefined;
3080
+ visibility: import("../index.js").CircleVisibility;
3081
+ is_hidden: boolean;
3082
+ owner_id?: string | null | undefined;
3083
+ meta: Record<string, unknown>;
3084
+ cover_photo_url?: string | null | undefined;
3085
+ cover_photo_media_id?: string | null | undefined;
3086
+ created_at: string;
3087
+ updated_at: string;
3088
+ is_member?: boolean | undefined;
3089
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
3090
+ member_count?: number | undefined;
3091
+ can_join?: boolean | undefined;
3092
+ can_manage?: boolean | undefined;
3093
+ can_manage_members?: boolean | undefined;
3094
+ can_invite?: boolean | undefined;
3095
+ can_leave?: boolean | undefined;
3096
+ can_request_to_join?: boolean | undefined;
3097
+ has_pending_request?: boolean | undefined;
3098
+ actor_capabilities?: {
3099
+ is_owner?: boolean | undefined;
3100
+ is_moderator?: boolean | undefined;
3101
+ moderation_level?: CircleRole | undefined;
3102
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
3103
+ can?: Record<string, boolean> | undefined;
3104
+ canJoin?: boolean | undefined;
3105
+ canLeave?: boolean | undefined;
3106
+ canRequestToJoin?: boolean | undefined;
3107
+ canInvite?: boolean | undefined;
3108
+ canManage?: boolean | undefined;
3109
+ canManageMembers?: boolean | undefined;
3110
+ canManageRoles?: boolean | undefined;
3111
+ canReviewRequests?: boolean | undefined;
3112
+ canManageReports?: boolean | undefined;
3113
+ canManageBans?: boolean | undefined;
3114
+ canManageMutes?: boolean | undefined;
3115
+ canViewAuditLog?: boolean | undefined;
3116
+ canManageAutomod?: boolean | undefined;
3117
+ canManageSettings?: boolean | undefined;
3118
+ canTransferOwnership?: boolean | undefined;
3119
+ canViewManagement?: boolean | undefined;
3120
+ } | undefined;
3121
+ management_sections?: CircleManagementSection[] | undefined;
3122
+ group_rules_summary?: string | null | undefined;
3123
+ welcome_message?: string | null | undefined;
3124
+ canonical_path?: string | null | undefined;
3125
+ actor?: {
3126
+ isMember: boolean;
3127
+ role: import("../services/circles.js").CircleActorRole;
3128
+ hasPendingRequest: boolean;
3129
+ capabilities: {
3130
+ is_owner: boolean;
3131
+ is_moderator: boolean;
3132
+ moderation_level: CircleRole;
3133
+ permissions: import("../index.js").CirclePermissionKey[];
3134
+ can: Record<string, boolean>;
3135
+ canJoin: boolean;
3136
+ canLeave: boolean;
3137
+ canRequestToJoin: boolean;
3138
+ canInvite: boolean;
3139
+ canManage: boolean;
3140
+ canManageMembers: boolean;
3141
+ canManageRoles: boolean;
3142
+ canReviewRequests: boolean;
3143
+ canManageReports: boolean;
3144
+ canManageBans: boolean;
3145
+ canManageMutes: boolean;
3146
+ canViewAuditLog: boolean;
3147
+ canManageAutomod: boolean;
3148
+ canManageSettings: boolean;
3149
+ canTransferOwnership: boolean;
3150
+ canViewManagement: boolean;
3151
+ };
3152
+ managementSections: CircleManagementSection[];
3153
+ } | undefined;
3154
+ creator?: {
3155
+ id: string;
3156
+ name: string;
3157
+ handle: string;
3158
+ avatar: string | null;
3159
+ avatar_url: string | null;
3160
+ bio?: string | null | undefined;
3161
+ is_following?: boolean | undefined;
3162
+ is_followed_by?: boolean | undefined;
3163
+ } | undefined;
3164
+ }[];
3165
+ currentCircle: {
3166
+ id: string;
3167
+ name: string;
3168
+ slug: string;
3169
+ description?: string | null | undefined;
3170
+ visibility: import("../index.js").CircleVisibility;
3171
+ is_hidden: boolean;
3172
+ owner_id?: string | null | undefined;
3173
+ meta: Record<string, unknown>;
3174
+ cover_photo_url?: string | null | undefined;
3175
+ cover_photo_media_id?: string | null | undefined;
3176
+ created_at: string;
3177
+ updated_at: string;
3178
+ is_member?: boolean | undefined;
3179
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
3180
+ member_count?: number | undefined;
3181
+ can_join?: boolean | undefined;
3182
+ can_manage?: boolean | undefined;
3183
+ can_manage_members?: boolean | undefined;
3184
+ can_invite?: boolean | undefined;
3185
+ can_leave?: boolean | undefined;
3186
+ can_request_to_join?: boolean | undefined;
3187
+ has_pending_request?: boolean | undefined;
3188
+ actor_capabilities?: {
3189
+ is_owner?: boolean | undefined;
3190
+ is_moderator?: boolean | undefined;
3191
+ moderation_level?: CircleRole | undefined;
3192
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
3193
+ can?: Record<string, boolean> | undefined;
3194
+ canJoin?: boolean | undefined;
3195
+ canLeave?: boolean | undefined;
3196
+ canRequestToJoin?: boolean | undefined;
3197
+ canInvite?: boolean | undefined;
3198
+ canManage?: boolean | undefined;
3199
+ canManageMembers?: boolean | undefined;
3200
+ canManageRoles?: boolean | undefined;
3201
+ canReviewRequests?: boolean | undefined;
3202
+ canManageReports?: boolean | undefined;
3203
+ canManageBans?: boolean | undefined;
3204
+ canManageMutes?: boolean | undefined;
3205
+ canViewAuditLog?: boolean | undefined;
3206
+ canManageAutomod?: boolean | undefined;
3207
+ canManageSettings?: boolean | undefined;
3208
+ canTransferOwnership?: boolean | undefined;
3209
+ canViewManagement?: boolean | undefined;
3210
+ } | undefined;
3211
+ management_sections?: CircleManagementSection[] | undefined;
3212
+ group_rules_summary?: string | null | undefined;
3213
+ welcome_message?: string | null | undefined;
3214
+ canonical_path?: string | null | undefined;
3215
+ actor?: {
3216
+ isMember: boolean;
3217
+ role: import("../services/circles.js").CircleActorRole;
3218
+ hasPendingRequest: boolean;
3219
+ capabilities: {
3220
+ is_owner: boolean;
3221
+ is_moderator: boolean;
3222
+ moderation_level: CircleRole;
3223
+ permissions: import("../index.js").CirclePermissionKey[];
3224
+ can: Record<string, boolean>;
3225
+ canJoin: boolean;
3226
+ canLeave: boolean;
3227
+ canRequestToJoin: boolean;
3228
+ canInvite: boolean;
3229
+ canManage: boolean;
3230
+ canManageMembers: boolean;
3231
+ canManageRoles: boolean;
3232
+ canReviewRequests: boolean;
3233
+ canManageReports: boolean;
3234
+ canManageBans: boolean;
3235
+ canManageMutes: boolean;
3236
+ canViewAuditLog: boolean;
3237
+ canManageAutomod: boolean;
3238
+ canManageSettings: boolean;
3239
+ canTransferOwnership: boolean;
3240
+ canViewManagement: boolean;
3241
+ };
3242
+ managementSections: CircleManagementSection[];
3243
+ } | undefined;
3244
+ creator?: {
3245
+ id: string;
3246
+ name: string;
3247
+ handle: string;
3248
+ avatar: string | null;
3249
+ avatar_url: string | null;
3250
+ bio?: string | null | undefined;
3251
+ is_following?: boolean | undefined;
3252
+ is_followed_by?: boolean | undefined;
3253
+ } | undefined;
3254
+ } | null;
3255
+ members: Record<string, CircleMemberState[]>;
3256
+ joinRequests: Record<string, JoinRequest[]>;
3257
+ joinRequestsPagination: Record<string, CursorPaginationState>;
3258
+ managementActors: Record<string, CircleActorContext>;
3259
+ managementSections: Record<string, CircleManagementSection[]>;
3260
+ managementBootstrapLoading: Record<string, boolean>;
3261
+ managementBootstrapError: Record<string, string | null>;
3262
+ managementSectionLoading: Record<string, ManagementSectionLoadingState>;
3263
+ managementSectionErrors: Record<string, ManagementSectionErrorState>;
3264
+ managementBootstrappedAt: Record<string, string>;
3265
+ roleDefinitions: Record<string, CircleRoleDefinition[]>;
3266
+ roleDefinitionsPagination: Record<string, CursorPaginationState>;
3267
+ managementCounts: Record<string, CircleManagementCounts>;
3268
+ managementPermissionCatalog: Record<string, CircleManagementPermissionCatalogEntry[]>;
3269
+ roleAssignments: Record<string, CircleRoleAssignment[]>;
3270
+ roleAssignmentsPagination: Record<string, CursorPaginationState>;
3271
+ reports: Record<string, CircleModerationReport[]>;
3272
+ reportsPagination: Record<string, CursorPaginationState>;
3273
+ bans: Record<string, CircleBanRecord[]>;
3274
+ bansPagination: Record<string, CursorPaginationState>;
3275
+ mutes: Record<string, CircleMuteRecord[]>;
3276
+ mutesPagination: Record<string, CursorPaginationState>;
3277
+ auditLog: Record<string, CircleModerationAuditLogEntry[]>;
3278
+ auditLogPagination: Record<string, CursorPaginationState>;
3279
+ automodRules: Record<string, CircleAutomodRule[]>;
3280
+ automodRulesPagination: Record<string, CursorPaginationState>;
3281
+ pendingRequestCircleIds: string[];
3282
+ loading: boolean;
3283
+ error: string | null;
3284
+ pagination: {
3285
+ cursor: string | null;
3286
+ hasMore: boolean;
3287
+ };
3288
+ activeFilterKey: string;
3289
+ circlesByFilter: Record<string, Circle[]>;
3290
+ paginationByFilter: Record<string, CursorPaginationState>;
3291
+ fetchedFilterKeys: Record<string, boolean>;
3292
+ membersPagination: Record<string, {
3293
+ cursor: string | null;
3294
+ hasMore: boolean;
3295
+ }>;
3296
+ filters: {
3297
+ visibility?: import("../index.js").CircleVisibility | undefined;
3298
+ membership?: "joined" | "managed" | "available" | undefined;
3299
+ search?: string | undefined;
3300
+ };
3301
+ } & import("pinia").PiniaCustomStateProperties<CirclesState>) => (circleId: string) => CircleModerationReport[];
3302
+ getBanRecords: (state: {
3303
+ circles: {
3304
+ id: string;
3305
+ name: string;
3306
+ slug: string;
3307
+ description?: string | null | undefined;
3308
+ visibility: import("../index.js").CircleVisibility;
3309
+ is_hidden: boolean;
3310
+ owner_id?: string | null | undefined;
3311
+ meta: Record<string, unknown>;
3312
+ cover_photo_url?: string | null | undefined;
3313
+ cover_photo_media_id?: string | null | undefined;
3314
+ created_at: string;
3315
+ updated_at: string;
3316
+ is_member?: boolean | undefined;
3317
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
3318
+ member_count?: number | undefined;
3319
+ can_join?: boolean | undefined;
3320
+ can_manage?: boolean | undefined;
3321
+ can_manage_members?: boolean | undefined;
3322
+ can_invite?: boolean | undefined;
3323
+ can_leave?: boolean | undefined;
3324
+ can_request_to_join?: boolean | undefined;
3325
+ has_pending_request?: boolean | undefined;
3326
+ actor_capabilities?: {
3327
+ is_owner?: boolean | undefined;
3328
+ is_moderator?: boolean | undefined;
3329
+ moderation_level?: CircleRole | undefined;
3330
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
3331
+ can?: Record<string, boolean> | undefined;
3332
+ canJoin?: boolean | undefined;
3333
+ canLeave?: boolean | undefined;
3334
+ canRequestToJoin?: boolean | undefined;
3335
+ canInvite?: boolean | undefined;
3336
+ canManage?: boolean | undefined;
3337
+ canManageMembers?: boolean | undefined;
3338
+ canManageRoles?: boolean | undefined;
3339
+ canReviewRequests?: boolean | undefined;
3340
+ canManageReports?: boolean | undefined;
3341
+ canManageBans?: boolean | undefined;
3342
+ canManageMutes?: boolean | undefined;
3343
+ canViewAuditLog?: boolean | undefined;
3344
+ canManageAutomod?: boolean | undefined;
3345
+ canManageSettings?: boolean | undefined;
3346
+ canTransferOwnership?: boolean | undefined;
3347
+ canViewManagement?: boolean | undefined;
3348
+ } | undefined;
3349
+ management_sections?: CircleManagementSection[] | undefined;
3350
+ group_rules_summary?: string | null | undefined;
3351
+ welcome_message?: string | null | undefined;
3352
+ canonical_path?: string | null | undefined;
3353
+ actor?: {
3354
+ isMember: boolean;
3355
+ role: import("../services/circles.js").CircleActorRole;
3356
+ hasPendingRequest: boolean;
3357
+ capabilities: {
3358
+ is_owner: boolean;
3359
+ is_moderator: boolean;
3360
+ moderation_level: CircleRole;
3361
+ permissions: import("../index.js").CirclePermissionKey[];
3362
+ can: Record<string, boolean>;
3363
+ canJoin: boolean;
3364
+ canLeave: boolean;
3365
+ canRequestToJoin: boolean;
3366
+ canInvite: boolean;
3367
+ canManage: boolean;
3368
+ canManageMembers: boolean;
3369
+ canManageRoles: boolean;
3370
+ canReviewRequests: boolean;
3371
+ canManageReports: boolean;
3372
+ canManageBans: boolean;
3373
+ canManageMutes: boolean;
3374
+ canViewAuditLog: boolean;
3375
+ canManageAutomod: boolean;
3376
+ canManageSettings: boolean;
3377
+ canTransferOwnership: boolean;
3378
+ canViewManagement: boolean;
3379
+ };
3380
+ managementSections: CircleManagementSection[];
3381
+ } | undefined;
3382
+ creator?: {
3383
+ id: string;
3384
+ name: string;
3385
+ handle: string;
3386
+ avatar: string | null;
3387
+ avatar_url: string | null;
3388
+ bio?: string | null | undefined;
3389
+ is_following?: boolean | undefined;
3390
+ is_followed_by?: boolean | undefined;
3391
+ } | undefined;
3392
+ }[];
3393
+ currentCircle: {
3394
+ id: string;
3395
+ name: string;
3396
+ slug: string;
3397
+ description?: string | null | undefined;
3398
+ visibility: import("../index.js").CircleVisibility;
3399
+ is_hidden: boolean;
3400
+ owner_id?: string | null | undefined;
3401
+ meta: Record<string, unknown>;
3402
+ cover_photo_url?: string | null | undefined;
3403
+ cover_photo_media_id?: string | null | undefined;
3404
+ created_at: string;
3405
+ updated_at: string;
3406
+ is_member?: boolean | undefined;
3407
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
3408
+ member_count?: number | undefined;
3409
+ can_join?: boolean | undefined;
3410
+ can_manage?: boolean | undefined;
3411
+ can_manage_members?: boolean | undefined;
3412
+ can_invite?: boolean | undefined;
3413
+ can_leave?: boolean | undefined;
3414
+ can_request_to_join?: boolean | undefined;
3415
+ has_pending_request?: boolean | undefined;
3416
+ actor_capabilities?: {
3417
+ is_owner?: boolean | undefined;
3418
+ is_moderator?: boolean | undefined;
3419
+ moderation_level?: CircleRole | undefined;
3420
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
3421
+ can?: Record<string, boolean> | undefined;
3422
+ canJoin?: boolean | undefined;
3423
+ canLeave?: boolean | undefined;
3424
+ canRequestToJoin?: boolean | undefined;
3425
+ canInvite?: boolean | undefined;
3426
+ canManage?: boolean | undefined;
3427
+ canManageMembers?: boolean | undefined;
3428
+ canManageRoles?: boolean | undefined;
3429
+ canReviewRequests?: boolean | undefined;
3430
+ canManageReports?: boolean | undefined;
3431
+ canManageBans?: boolean | undefined;
3432
+ canManageMutes?: boolean | undefined;
3433
+ canViewAuditLog?: boolean | undefined;
3434
+ canManageAutomod?: boolean | undefined;
3435
+ canManageSettings?: boolean | undefined;
3436
+ canTransferOwnership?: boolean | undefined;
3437
+ canViewManagement?: boolean | undefined;
3438
+ } | undefined;
3439
+ management_sections?: CircleManagementSection[] | undefined;
3440
+ group_rules_summary?: string | null | undefined;
3441
+ welcome_message?: string | null | undefined;
3442
+ canonical_path?: string | null | undefined;
3443
+ actor?: {
3444
+ isMember: boolean;
3445
+ role: import("../services/circles.js").CircleActorRole;
3446
+ hasPendingRequest: boolean;
3447
+ capabilities: {
3448
+ is_owner: boolean;
3449
+ is_moderator: boolean;
3450
+ moderation_level: CircleRole;
3451
+ permissions: import("../index.js").CirclePermissionKey[];
3452
+ can: Record<string, boolean>;
3453
+ canJoin: boolean;
3454
+ canLeave: boolean;
3455
+ canRequestToJoin: boolean;
3456
+ canInvite: boolean;
3457
+ canManage: boolean;
3458
+ canManageMembers: boolean;
3459
+ canManageRoles: boolean;
3460
+ canReviewRequests: boolean;
3461
+ canManageReports: boolean;
3462
+ canManageBans: boolean;
3463
+ canManageMutes: boolean;
3464
+ canViewAuditLog: boolean;
3465
+ canManageAutomod: boolean;
3466
+ canManageSettings: boolean;
3467
+ canTransferOwnership: boolean;
3468
+ canViewManagement: boolean;
3469
+ };
3470
+ managementSections: CircleManagementSection[];
3471
+ } | undefined;
3472
+ creator?: {
3473
+ id: string;
3474
+ name: string;
3475
+ handle: string;
3476
+ avatar: string | null;
3477
+ avatar_url: string | null;
3478
+ bio?: string | null | undefined;
3479
+ is_following?: boolean | undefined;
3480
+ is_followed_by?: boolean | undefined;
3481
+ } | undefined;
3482
+ } | null;
3483
+ members: Record<string, CircleMemberState[]>;
3484
+ joinRequests: Record<string, JoinRequest[]>;
3485
+ joinRequestsPagination: Record<string, CursorPaginationState>;
3486
+ managementActors: Record<string, CircleActorContext>;
3487
+ managementSections: Record<string, CircleManagementSection[]>;
3488
+ managementBootstrapLoading: Record<string, boolean>;
3489
+ managementBootstrapError: Record<string, string | null>;
3490
+ managementSectionLoading: Record<string, ManagementSectionLoadingState>;
3491
+ managementSectionErrors: Record<string, ManagementSectionErrorState>;
3492
+ managementBootstrappedAt: Record<string, string>;
3493
+ roleDefinitions: Record<string, CircleRoleDefinition[]>;
3494
+ roleDefinitionsPagination: Record<string, CursorPaginationState>;
3495
+ managementCounts: Record<string, CircleManagementCounts>;
3496
+ managementPermissionCatalog: Record<string, CircleManagementPermissionCatalogEntry[]>;
3497
+ roleAssignments: Record<string, CircleRoleAssignment[]>;
3498
+ roleAssignmentsPagination: Record<string, CursorPaginationState>;
3499
+ reports: Record<string, CircleModerationReport[]>;
3500
+ reportsPagination: Record<string, CursorPaginationState>;
3501
+ bans: Record<string, CircleBanRecord[]>;
3502
+ bansPagination: Record<string, CursorPaginationState>;
3503
+ mutes: Record<string, CircleMuteRecord[]>;
3504
+ mutesPagination: Record<string, CursorPaginationState>;
3505
+ auditLog: Record<string, CircleModerationAuditLogEntry[]>;
3506
+ auditLogPagination: Record<string, CursorPaginationState>;
3507
+ automodRules: Record<string, CircleAutomodRule[]>;
3508
+ automodRulesPagination: Record<string, CursorPaginationState>;
3509
+ pendingRequestCircleIds: string[];
3510
+ loading: boolean;
3511
+ error: string | null;
3512
+ pagination: {
3513
+ cursor: string | null;
3514
+ hasMore: boolean;
3515
+ };
3516
+ activeFilterKey: string;
3517
+ circlesByFilter: Record<string, Circle[]>;
3518
+ paginationByFilter: Record<string, CursorPaginationState>;
3519
+ fetchedFilterKeys: Record<string, boolean>;
3520
+ membersPagination: Record<string, {
3521
+ cursor: string | null;
3522
+ hasMore: boolean;
3523
+ }>;
3524
+ filters: {
3525
+ visibility?: import("../index.js").CircleVisibility | undefined;
3526
+ membership?: "joined" | "managed" | "available" | undefined;
3527
+ search?: string | undefined;
3528
+ };
3529
+ } & import("pinia").PiniaCustomStateProperties<CirclesState>) => (circleId: string) => CircleBanRecord[];
3530
+ getMuteRecords: (state: {
3531
+ circles: {
3532
+ id: string;
3533
+ name: string;
3534
+ slug: string;
3535
+ description?: string | null | undefined;
3536
+ visibility: import("../index.js").CircleVisibility;
3537
+ is_hidden: boolean;
3538
+ owner_id?: string | null | undefined;
3539
+ meta: Record<string, unknown>;
3540
+ cover_photo_url?: string | null | undefined;
3541
+ cover_photo_media_id?: string | null | undefined;
3542
+ created_at: string;
3543
+ updated_at: string;
3544
+ is_member?: boolean | undefined;
3545
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
3546
+ member_count?: number | undefined;
3547
+ can_join?: boolean | undefined;
3548
+ can_manage?: boolean | undefined;
3549
+ can_manage_members?: boolean | undefined;
3550
+ can_invite?: boolean | undefined;
3551
+ can_leave?: boolean | undefined;
3552
+ can_request_to_join?: boolean | undefined;
3553
+ has_pending_request?: boolean | undefined;
3554
+ actor_capabilities?: {
3555
+ is_owner?: boolean | undefined;
3556
+ is_moderator?: boolean | undefined;
3557
+ moderation_level?: CircleRole | undefined;
3558
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
3559
+ can?: Record<string, boolean> | undefined;
3560
+ canJoin?: boolean | undefined;
3561
+ canLeave?: boolean | undefined;
3562
+ canRequestToJoin?: boolean | undefined;
3563
+ canInvite?: boolean | undefined;
3564
+ canManage?: boolean | undefined;
3565
+ canManageMembers?: boolean | undefined;
3566
+ canManageRoles?: boolean | undefined;
3567
+ canReviewRequests?: boolean | undefined;
3568
+ canManageReports?: boolean | undefined;
3569
+ canManageBans?: boolean | undefined;
3570
+ canManageMutes?: boolean | undefined;
3571
+ canViewAuditLog?: boolean | undefined;
3572
+ canManageAutomod?: boolean | undefined;
3573
+ canManageSettings?: boolean | undefined;
3574
+ canTransferOwnership?: boolean | undefined;
3575
+ canViewManagement?: boolean | undefined;
3576
+ } | undefined;
3577
+ management_sections?: CircleManagementSection[] | undefined;
3578
+ group_rules_summary?: string | null | undefined;
3579
+ welcome_message?: string | null | undefined;
3580
+ canonical_path?: string | null | undefined;
3581
+ actor?: {
3582
+ isMember: boolean;
3583
+ role: import("../services/circles.js").CircleActorRole;
3584
+ hasPendingRequest: boolean;
3585
+ capabilities: {
3586
+ is_owner: boolean;
3587
+ is_moderator: boolean;
3588
+ moderation_level: CircleRole;
3589
+ permissions: import("../index.js").CirclePermissionKey[];
3590
+ can: Record<string, boolean>;
3591
+ canJoin: boolean;
3592
+ canLeave: boolean;
3593
+ canRequestToJoin: boolean;
3594
+ canInvite: boolean;
3595
+ canManage: boolean;
3596
+ canManageMembers: boolean;
3597
+ canManageRoles: boolean;
3598
+ canReviewRequests: boolean;
3599
+ canManageReports: boolean;
3600
+ canManageBans: boolean;
3601
+ canManageMutes: boolean;
3602
+ canViewAuditLog: boolean;
3603
+ canManageAutomod: boolean;
3604
+ canManageSettings: boolean;
3605
+ canTransferOwnership: boolean;
3606
+ canViewManagement: boolean;
3607
+ };
3608
+ managementSections: CircleManagementSection[];
3609
+ } | undefined;
3610
+ creator?: {
3611
+ id: string;
3612
+ name: string;
3613
+ handle: string;
3614
+ avatar: string | null;
3615
+ avatar_url: string | null;
3616
+ bio?: string | null | undefined;
3617
+ is_following?: boolean | undefined;
3618
+ is_followed_by?: boolean | undefined;
3619
+ } | undefined;
3620
+ }[];
3621
+ currentCircle: {
3622
+ id: string;
3623
+ name: string;
3624
+ slug: string;
3625
+ description?: string | null | undefined;
3626
+ visibility: import("../index.js").CircleVisibility;
3627
+ is_hidden: boolean;
3628
+ owner_id?: string | null | undefined;
3629
+ meta: Record<string, unknown>;
3630
+ cover_photo_url?: string | null | undefined;
3631
+ cover_photo_media_id?: string | null | undefined;
3632
+ created_at: string;
3633
+ updated_at: string;
3634
+ is_member?: boolean | undefined;
3635
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
3636
+ member_count?: number | undefined;
3637
+ can_join?: boolean | undefined;
3638
+ can_manage?: boolean | undefined;
3639
+ can_manage_members?: boolean | undefined;
3640
+ can_invite?: boolean | undefined;
3641
+ can_leave?: boolean | undefined;
3642
+ can_request_to_join?: boolean | undefined;
3643
+ has_pending_request?: boolean | undefined;
3644
+ actor_capabilities?: {
3645
+ is_owner?: boolean | undefined;
3646
+ is_moderator?: boolean | undefined;
3647
+ moderation_level?: CircleRole | undefined;
3648
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
3649
+ can?: Record<string, boolean> | undefined;
3650
+ canJoin?: boolean | undefined;
3651
+ canLeave?: boolean | undefined;
3652
+ canRequestToJoin?: boolean | undefined;
3653
+ canInvite?: boolean | undefined;
3654
+ canManage?: boolean | undefined;
3655
+ canManageMembers?: boolean | undefined;
3656
+ canManageRoles?: boolean | undefined;
3657
+ canReviewRequests?: boolean | undefined;
3658
+ canManageReports?: boolean | undefined;
3659
+ canManageBans?: boolean | undefined;
3660
+ canManageMutes?: boolean | undefined;
3661
+ canViewAuditLog?: boolean | undefined;
3662
+ canManageAutomod?: boolean | undefined;
3663
+ canManageSettings?: boolean | undefined;
3664
+ canTransferOwnership?: boolean | undefined;
3665
+ canViewManagement?: boolean | undefined;
3666
+ } | undefined;
3667
+ management_sections?: CircleManagementSection[] | undefined;
3668
+ group_rules_summary?: string | null | undefined;
3669
+ welcome_message?: string | null | undefined;
3670
+ canonical_path?: string | null | undefined;
3671
+ actor?: {
3672
+ isMember: boolean;
3673
+ role: import("../services/circles.js").CircleActorRole;
3674
+ hasPendingRequest: boolean;
3675
+ capabilities: {
3676
+ is_owner: boolean;
3677
+ is_moderator: boolean;
3678
+ moderation_level: CircleRole;
3679
+ permissions: import("../index.js").CirclePermissionKey[];
3680
+ can: Record<string, boolean>;
3681
+ canJoin: boolean;
3682
+ canLeave: boolean;
3683
+ canRequestToJoin: boolean;
3684
+ canInvite: boolean;
3685
+ canManage: boolean;
3686
+ canManageMembers: boolean;
3687
+ canManageRoles: boolean;
3688
+ canReviewRequests: boolean;
3689
+ canManageReports: boolean;
3690
+ canManageBans: boolean;
3691
+ canManageMutes: boolean;
3692
+ canViewAuditLog: boolean;
3693
+ canManageAutomod: boolean;
3694
+ canManageSettings: boolean;
3695
+ canTransferOwnership: boolean;
3696
+ canViewManagement: boolean;
3697
+ };
3698
+ managementSections: CircleManagementSection[];
3699
+ } | undefined;
3700
+ creator?: {
3701
+ id: string;
3702
+ name: string;
3703
+ handle: string;
3704
+ avatar: string | null;
3705
+ avatar_url: string | null;
3706
+ bio?: string | null | undefined;
3707
+ is_following?: boolean | undefined;
3708
+ is_followed_by?: boolean | undefined;
3709
+ } | undefined;
3710
+ } | null;
3711
+ members: Record<string, CircleMemberState[]>;
3712
+ joinRequests: Record<string, JoinRequest[]>;
3713
+ joinRequestsPagination: Record<string, CursorPaginationState>;
3714
+ managementActors: Record<string, CircleActorContext>;
3715
+ managementSections: Record<string, CircleManagementSection[]>;
3716
+ managementBootstrapLoading: Record<string, boolean>;
3717
+ managementBootstrapError: Record<string, string | null>;
3718
+ managementSectionLoading: Record<string, ManagementSectionLoadingState>;
3719
+ managementSectionErrors: Record<string, ManagementSectionErrorState>;
3720
+ managementBootstrappedAt: Record<string, string>;
3721
+ roleDefinitions: Record<string, CircleRoleDefinition[]>;
3722
+ roleDefinitionsPagination: Record<string, CursorPaginationState>;
3723
+ managementCounts: Record<string, CircleManagementCounts>;
3724
+ managementPermissionCatalog: Record<string, CircleManagementPermissionCatalogEntry[]>;
3725
+ roleAssignments: Record<string, CircleRoleAssignment[]>;
3726
+ roleAssignmentsPagination: Record<string, CursorPaginationState>;
3727
+ reports: Record<string, CircleModerationReport[]>;
3728
+ reportsPagination: Record<string, CursorPaginationState>;
3729
+ bans: Record<string, CircleBanRecord[]>;
3730
+ bansPagination: Record<string, CursorPaginationState>;
3731
+ mutes: Record<string, CircleMuteRecord[]>;
3732
+ mutesPagination: Record<string, CursorPaginationState>;
3733
+ auditLog: Record<string, CircleModerationAuditLogEntry[]>;
3734
+ auditLogPagination: Record<string, CursorPaginationState>;
3735
+ automodRules: Record<string, CircleAutomodRule[]>;
3736
+ automodRulesPagination: Record<string, CursorPaginationState>;
3737
+ pendingRequestCircleIds: string[];
3738
+ loading: boolean;
3739
+ error: string | null;
3740
+ pagination: {
3741
+ cursor: string | null;
3742
+ hasMore: boolean;
3743
+ };
3744
+ activeFilterKey: string;
3745
+ circlesByFilter: Record<string, Circle[]>;
3746
+ paginationByFilter: Record<string, CursorPaginationState>;
3747
+ fetchedFilterKeys: Record<string, boolean>;
3748
+ membersPagination: Record<string, {
3749
+ cursor: string | null;
3750
+ hasMore: boolean;
3751
+ }>;
3752
+ filters: {
3753
+ visibility?: import("../index.js").CircleVisibility | undefined;
3754
+ membership?: "joined" | "managed" | "available" | undefined;
3755
+ search?: string | undefined;
3756
+ };
3757
+ } & import("pinia").PiniaCustomStateProperties<CirclesState>) => (circleId: string) => CircleMuteRecord[];
3758
+ getAuditLogEntries: (state: {
3759
+ circles: {
3760
+ id: string;
3761
+ name: string;
3762
+ slug: string;
3763
+ description?: string | null | undefined;
3764
+ visibility: import("../index.js").CircleVisibility;
3765
+ is_hidden: boolean;
3766
+ owner_id?: string | null | undefined;
3767
+ meta: Record<string, unknown>;
3768
+ cover_photo_url?: string | null | undefined;
3769
+ cover_photo_media_id?: string | null | undefined;
3770
+ created_at: string;
3771
+ updated_at: string;
3772
+ is_member?: boolean | undefined;
3773
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
3774
+ member_count?: number | undefined;
3775
+ can_join?: boolean | undefined;
3776
+ can_manage?: boolean | undefined;
3777
+ can_manage_members?: boolean | undefined;
3778
+ can_invite?: boolean | undefined;
3779
+ can_leave?: boolean | undefined;
3780
+ can_request_to_join?: boolean | undefined;
3781
+ has_pending_request?: boolean | undefined;
3782
+ actor_capabilities?: {
3783
+ is_owner?: boolean | undefined;
3784
+ is_moderator?: boolean | undefined;
3785
+ moderation_level?: CircleRole | undefined;
3786
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
3787
+ can?: Record<string, boolean> | undefined;
3788
+ canJoin?: boolean | undefined;
3789
+ canLeave?: boolean | undefined;
3790
+ canRequestToJoin?: boolean | undefined;
3791
+ canInvite?: boolean | undefined;
3792
+ canManage?: boolean | undefined;
3793
+ canManageMembers?: boolean | undefined;
3794
+ canManageRoles?: boolean | undefined;
3795
+ canReviewRequests?: boolean | undefined;
3796
+ canManageReports?: boolean | undefined;
3797
+ canManageBans?: boolean | undefined;
3798
+ canManageMutes?: boolean | undefined;
3799
+ canViewAuditLog?: boolean | undefined;
3800
+ canManageAutomod?: boolean | undefined;
3801
+ canManageSettings?: boolean | undefined;
3802
+ canTransferOwnership?: boolean | undefined;
3803
+ canViewManagement?: boolean | undefined;
3804
+ } | undefined;
3805
+ management_sections?: CircleManagementSection[] | undefined;
3806
+ group_rules_summary?: string | null | undefined;
3807
+ welcome_message?: string | null | undefined;
3808
+ canonical_path?: string | null | undefined;
3809
+ actor?: {
3810
+ isMember: boolean;
3811
+ role: import("../services/circles.js").CircleActorRole;
3812
+ hasPendingRequest: boolean;
3813
+ capabilities: {
3814
+ is_owner: boolean;
3815
+ is_moderator: boolean;
3816
+ moderation_level: CircleRole;
3817
+ permissions: import("../index.js").CirclePermissionKey[];
3818
+ can: Record<string, boolean>;
3819
+ canJoin: boolean;
3820
+ canLeave: boolean;
3821
+ canRequestToJoin: boolean;
3822
+ canInvite: boolean;
3823
+ canManage: boolean;
3824
+ canManageMembers: boolean;
3825
+ canManageRoles: boolean;
3826
+ canReviewRequests: boolean;
3827
+ canManageReports: boolean;
3828
+ canManageBans: boolean;
3829
+ canManageMutes: boolean;
3830
+ canViewAuditLog: boolean;
3831
+ canManageAutomod: boolean;
3832
+ canManageSettings: boolean;
3833
+ canTransferOwnership: boolean;
3834
+ canViewManagement: boolean;
3835
+ };
3836
+ managementSections: CircleManagementSection[];
3837
+ } | undefined;
3838
+ creator?: {
3839
+ id: string;
3840
+ name: string;
3841
+ handle: string;
3842
+ avatar: string | null;
3843
+ avatar_url: string | null;
3844
+ bio?: string | null | undefined;
3845
+ is_following?: boolean | undefined;
3846
+ is_followed_by?: boolean | undefined;
3847
+ } | undefined;
3848
+ }[];
3849
+ currentCircle: {
3850
+ id: string;
3851
+ name: string;
3852
+ slug: string;
3853
+ description?: string | null | undefined;
3854
+ visibility: import("../index.js").CircleVisibility;
3855
+ is_hidden: boolean;
3856
+ owner_id?: string | null | undefined;
3857
+ meta: Record<string, unknown>;
3858
+ cover_photo_url?: string | null | undefined;
3859
+ cover_photo_media_id?: string | null | undefined;
3860
+ created_at: string;
3861
+ updated_at: string;
3862
+ is_member?: boolean | undefined;
3863
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
3864
+ member_count?: number | undefined;
3865
+ can_join?: boolean | undefined;
3866
+ can_manage?: boolean | undefined;
3867
+ can_manage_members?: boolean | undefined;
3868
+ can_invite?: boolean | undefined;
3869
+ can_leave?: boolean | undefined;
3870
+ can_request_to_join?: boolean | undefined;
3871
+ has_pending_request?: boolean | undefined;
3872
+ actor_capabilities?: {
3873
+ is_owner?: boolean | undefined;
3874
+ is_moderator?: boolean | undefined;
3875
+ moderation_level?: CircleRole | undefined;
3876
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
3877
+ can?: Record<string, boolean> | undefined;
3878
+ canJoin?: boolean | undefined;
3879
+ canLeave?: boolean | undefined;
3880
+ canRequestToJoin?: boolean | undefined;
3881
+ canInvite?: boolean | undefined;
3882
+ canManage?: boolean | undefined;
3883
+ canManageMembers?: boolean | undefined;
3884
+ canManageRoles?: boolean | undefined;
3885
+ canReviewRequests?: boolean | undefined;
3886
+ canManageReports?: boolean | undefined;
3887
+ canManageBans?: boolean | undefined;
3888
+ canManageMutes?: boolean | undefined;
3889
+ canViewAuditLog?: boolean | undefined;
3890
+ canManageAutomod?: boolean | undefined;
3891
+ canManageSettings?: boolean | undefined;
3892
+ canTransferOwnership?: boolean | undefined;
3893
+ canViewManagement?: boolean | undefined;
3894
+ } | undefined;
3895
+ management_sections?: CircleManagementSection[] | undefined;
3896
+ group_rules_summary?: string | null | undefined;
3897
+ welcome_message?: string | null | undefined;
3898
+ canonical_path?: string | null | undefined;
3899
+ actor?: {
3900
+ isMember: boolean;
3901
+ role: import("../services/circles.js").CircleActorRole;
3902
+ hasPendingRequest: boolean;
3903
+ capabilities: {
3904
+ is_owner: boolean;
3905
+ is_moderator: boolean;
3906
+ moderation_level: CircleRole;
3907
+ permissions: import("../index.js").CirclePermissionKey[];
3908
+ can: Record<string, boolean>;
3909
+ canJoin: boolean;
3910
+ canLeave: boolean;
3911
+ canRequestToJoin: boolean;
3912
+ canInvite: boolean;
3913
+ canManage: boolean;
3914
+ canManageMembers: boolean;
3915
+ canManageRoles: boolean;
3916
+ canReviewRequests: boolean;
3917
+ canManageReports: boolean;
3918
+ canManageBans: boolean;
3919
+ canManageMutes: boolean;
3920
+ canViewAuditLog: boolean;
3921
+ canManageAutomod: boolean;
3922
+ canManageSettings: boolean;
3923
+ canTransferOwnership: boolean;
3924
+ canViewManagement: boolean;
3925
+ };
3926
+ managementSections: CircleManagementSection[];
3927
+ } | undefined;
3928
+ creator?: {
3929
+ id: string;
3930
+ name: string;
3931
+ handle: string;
3932
+ avatar: string | null;
3933
+ avatar_url: string | null;
3934
+ bio?: string | null | undefined;
3935
+ is_following?: boolean | undefined;
3936
+ is_followed_by?: boolean | undefined;
3937
+ } | undefined;
3938
+ } | null;
3939
+ members: Record<string, CircleMemberState[]>;
3940
+ joinRequests: Record<string, JoinRequest[]>;
3941
+ joinRequestsPagination: Record<string, CursorPaginationState>;
3942
+ managementActors: Record<string, CircleActorContext>;
3943
+ managementSections: Record<string, CircleManagementSection[]>;
3944
+ managementBootstrapLoading: Record<string, boolean>;
3945
+ managementBootstrapError: Record<string, string | null>;
3946
+ managementSectionLoading: Record<string, ManagementSectionLoadingState>;
3947
+ managementSectionErrors: Record<string, ManagementSectionErrorState>;
3948
+ managementBootstrappedAt: Record<string, string>;
3949
+ roleDefinitions: Record<string, CircleRoleDefinition[]>;
3950
+ roleDefinitionsPagination: Record<string, CursorPaginationState>;
3951
+ managementCounts: Record<string, CircleManagementCounts>;
3952
+ managementPermissionCatalog: Record<string, CircleManagementPermissionCatalogEntry[]>;
3953
+ roleAssignments: Record<string, CircleRoleAssignment[]>;
3954
+ roleAssignmentsPagination: Record<string, CursorPaginationState>;
3955
+ reports: Record<string, CircleModerationReport[]>;
3956
+ reportsPagination: Record<string, CursorPaginationState>;
3957
+ bans: Record<string, CircleBanRecord[]>;
3958
+ bansPagination: Record<string, CursorPaginationState>;
3959
+ mutes: Record<string, CircleMuteRecord[]>;
3960
+ mutesPagination: Record<string, CursorPaginationState>;
3961
+ auditLog: Record<string, CircleModerationAuditLogEntry[]>;
3962
+ auditLogPagination: Record<string, CursorPaginationState>;
3963
+ automodRules: Record<string, CircleAutomodRule[]>;
3964
+ automodRulesPagination: Record<string, CursorPaginationState>;
3965
+ pendingRequestCircleIds: string[];
3966
+ loading: boolean;
3967
+ error: string | null;
3968
+ pagination: {
3969
+ cursor: string | null;
3970
+ hasMore: boolean;
3971
+ };
3972
+ activeFilterKey: string;
3973
+ circlesByFilter: Record<string, Circle[]>;
3974
+ paginationByFilter: Record<string, CursorPaginationState>;
3975
+ fetchedFilterKeys: Record<string, boolean>;
3976
+ membersPagination: Record<string, {
3977
+ cursor: string | null;
3978
+ hasMore: boolean;
3979
+ }>;
3980
+ filters: {
3981
+ visibility?: import("../index.js").CircleVisibility | undefined;
3982
+ membership?: "joined" | "managed" | "available" | undefined;
3983
+ search?: string | undefined;
3984
+ };
3985
+ } & import("pinia").PiniaCustomStateProperties<CirclesState>) => (circleId: string) => CircleModerationAuditLogEntry[];
3986
+ getAutomodRules: (state: {
3987
+ circles: {
3988
+ id: string;
3989
+ name: string;
3990
+ slug: string;
3991
+ description?: string | null | undefined;
3992
+ visibility: import("../index.js").CircleVisibility;
3993
+ is_hidden: boolean;
3994
+ owner_id?: string | null | undefined;
3995
+ meta: Record<string, unknown>;
3996
+ cover_photo_url?: string | null | undefined;
3997
+ cover_photo_media_id?: string | null | undefined;
3998
+ created_at: string;
3999
+ updated_at: string;
4000
+ is_member?: boolean | undefined;
4001
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
4002
+ member_count?: number | undefined;
4003
+ can_join?: boolean | undefined;
4004
+ can_manage?: boolean | undefined;
4005
+ can_manage_members?: boolean | undefined;
4006
+ can_invite?: boolean | undefined;
4007
+ can_leave?: boolean | undefined;
4008
+ can_request_to_join?: boolean | undefined;
4009
+ has_pending_request?: boolean | undefined;
4010
+ actor_capabilities?: {
4011
+ is_owner?: boolean | undefined;
4012
+ is_moderator?: boolean | undefined;
4013
+ moderation_level?: CircleRole | undefined;
4014
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
4015
+ can?: Record<string, boolean> | undefined;
4016
+ canJoin?: boolean | undefined;
4017
+ canLeave?: boolean | undefined;
4018
+ canRequestToJoin?: boolean | undefined;
4019
+ canInvite?: boolean | undefined;
4020
+ canManage?: boolean | undefined;
4021
+ canManageMembers?: boolean | undefined;
4022
+ canManageRoles?: boolean | undefined;
4023
+ canReviewRequests?: boolean | undefined;
4024
+ canManageReports?: boolean | undefined;
4025
+ canManageBans?: boolean | undefined;
4026
+ canManageMutes?: boolean | undefined;
4027
+ canViewAuditLog?: boolean | undefined;
4028
+ canManageAutomod?: boolean | undefined;
4029
+ canManageSettings?: boolean | undefined;
4030
+ canTransferOwnership?: boolean | undefined;
4031
+ canViewManagement?: boolean | undefined;
4032
+ } | undefined;
4033
+ management_sections?: CircleManagementSection[] | undefined;
4034
+ group_rules_summary?: string | null | undefined;
4035
+ welcome_message?: string | null | undefined;
4036
+ canonical_path?: string | null | undefined;
4037
+ actor?: {
4038
+ isMember: boolean;
4039
+ role: import("../services/circles.js").CircleActorRole;
4040
+ hasPendingRequest: boolean;
4041
+ capabilities: {
4042
+ is_owner: boolean;
4043
+ is_moderator: boolean;
4044
+ moderation_level: CircleRole;
4045
+ permissions: import("../index.js").CirclePermissionKey[];
4046
+ can: Record<string, boolean>;
4047
+ canJoin: boolean;
4048
+ canLeave: boolean;
4049
+ canRequestToJoin: boolean;
4050
+ canInvite: boolean;
4051
+ canManage: boolean;
4052
+ canManageMembers: boolean;
4053
+ canManageRoles: boolean;
4054
+ canReviewRequests: boolean;
4055
+ canManageReports: boolean;
4056
+ canManageBans: boolean;
4057
+ canManageMutes: boolean;
4058
+ canViewAuditLog: boolean;
4059
+ canManageAutomod: boolean;
4060
+ canManageSettings: boolean;
4061
+ canTransferOwnership: boolean;
4062
+ canViewManagement: boolean;
4063
+ };
4064
+ managementSections: CircleManagementSection[];
4065
+ } | undefined;
4066
+ creator?: {
4067
+ id: string;
4068
+ name: string;
4069
+ handle: string;
4070
+ avatar: string | null;
4071
+ avatar_url: string | null;
4072
+ bio?: string | null | undefined;
4073
+ is_following?: boolean | undefined;
4074
+ is_followed_by?: boolean | undefined;
4075
+ } | undefined;
4076
+ }[];
4077
+ currentCircle: {
4078
+ id: string;
4079
+ name: string;
4080
+ slug: string;
4081
+ description?: string | null | undefined;
4082
+ visibility: import("../index.js").CircleVisibility;
4083
+ is_hidden: boolean;
4084
+ owner_id?: string | null | undefined;
4085
+ meta: Record<string, unknown>;
4086
+ cover_photo_url?: string | null | undefined;
4087
+ cover_photo_media_id?: string | null | undefined;
4088
+ created_at: string;
4089
+ updated_at: string;
4090
+ is_member?: boolean | undefined;
4091
+ user_role?: import("../services/circles.js").CircleActorRole | undefined;
4092
+ member_count?: number | undefined;
4093
+ can_join?: boolean | undefined;
4094
+ can_manage?: boolean | undefined;
4095
+ can_manage_members?: boolean | undefined;
4096
+ can_invite?: boolean | undefined;
4097
+ can_leave?: boolean | undefined;
4098
+ can_request_to_join?: boolean | undefined;
4099
+ has_pending_request?: boolean | undefined;
4100
+ actor_capabilities?: {
4101
+ is_owner?: boolean | undefined;
4102
+ is_moderator?: boolean | undefined;
4103
+ moderation_level?: CircleRole | undefined;
4104
+ permissions?: import("../index.js").CirclePermissionKey[] | undefined;
4105
+ can?: Record<string, boolean> | undefined;
4106
+ canJoin?: boolean | undefined;
4107
+ canLeave?: boolean | undefined;
4108
+ canRequestToJoin?: boolean | undefined;
4109
+ canInvite?: boolean | undefined;
4110
+ canManage?: boolean | undefined;
4111
+ canManageMembers?: boolean | undefined;
4112
+ canManageRoles?: boolean | undefined;
4113
+ canReviewRequests?: boolean | undefined;
4114
+ canManageReports?: boolean | undefined;
4115
+ canManageBans?: boolean | undefined;
4116
+ canManageMutes?: boolean | undefined;
4117
+ canViewAuditLog?: boolean | undefined;
4118
+ canManageAutomod?: boolean | undefined;
4119
+ canManageSettings?: boolean | undefined;
4120
+ canTransferOwnership?: boolean | undefined;
4121
+ canViewManagement?: boolean | undefined;
4122
+ } | undefined;
4123
+ management_sections?: CircleManagementSection[] | undefined;
4124
+ group_rules_summary?: string | null | undefined;
4125
+ welcome_message?: string | null | undefined;
4126
+ canonical_path?: string | null | undefined;
4127
+ actor?: {
4128
+ isMember: boolean;
4129
+ role: import("../services/circles.js").CircleActorRole;
4130
+ hasPendingRequest: boolean;
4131
+ capabilities: {
4132
+ is_owner: boolean;
4133
+ is_moderator: boolean;
4134
+ moderation_level: CircleRole;
4135
+ permissions: import("../index.js").CirclePermissionKey[];
4136
+ can: Record<string, boolean>;
4137
+ canJoin: boolean;
4138
+ canLeave: boolean;
4139
+ canRequestToJoin: boolean;
4140
+ canInvite: boolean;
4141
+ canManage: boolean;
4142
+ canManageMembers: boolean;
4143
+ canManageRoles: boolean;
4144
+ canReviewRequests: boolean;
4145
+ canManageReports: boolean;
4146
+ canManageBans: boolean;
4147
+ canManageMutes: boolean;
4148
+ canViewAuditLog: boolean;
4149
+ canManageAutomod: boolean;
4150
+ canManageSettings: boolean;
4151
+ canTransferOwnership: boolean;
4152
+ canViewManagement: boolean;
4153
+ };
4154
+ managementSections: CircleManagementSection[];
4155
+ } | undefined;
4156
+ creator?: {
4157
+ id: string;
4158
+ name: string;
4159
+ handle: string;
4160
+ avatar: string | null;
4161
+ avatar_url: string | null;
4162
+ bio?: string | null | undefined;
4163
+ is_following?: boolean | undefined;
4164
+ is_followed_by?: boolean | undefined;
4165
+ } | undefined;
4166
+ } | null;
4167
+ members: Record<string, CircleMemberState[]>;
4168
+ joinRequests: Record<string, JoinRequest[]>;
4169
+ joinRequestsPagination: Record<string, CursorPaginationState>;
4170
+ managementActors: Record<string, CircleActorContext>;
4171
+ managementSections: Record<string, CircleManagementSection[]>;
4172
+ managementBootstrapLoading: Record<string, boolean>;
4173
+ managementBootstrapError: Record<string, string | null>;
4174
+ managementSectionLoading: Record<string, ManagementSectionLoadingState>;
4175
+ managementSectionErrors: Record<string, ManagementSectionErrorState>;
4176
+ managementBootstrappedAt: Record<string, string>;
4177
+ roleDefinitions: Record<string, CircleRoleDefinition[]>;
4178
+ roleDefinitionsPagination: Record<string, CursorPaginationState>;
4179
+ managementCounts: Record<string, CircleManagementCounts>;
4180
+ managementPermissionCatalog: Record<string, CircleManagementPermissionCatalogEntry[]>;
4181
+ roleAssignments: Record<string, CircleRoleAssignment[]>;
4182
+ roleAssignmentsPagination: Record<string, CursorPaginationState>;
4183
+ reports: Record<string, CircleModerationReport[]>;
4184
+ reportsPagination: Record<string, CursorPaginationState>;
4185
+ bans: Record<string, CircleBanRecord[]>;
4186
+ bansPagination: Record<string, CursorPaginationState>;
4187
+ mutes: Record<string, CircleMuteRecord[]>;
4188
+ mutesPagination: Record<string, CursorPaginationState>;
4189
+ auditLog: Record<string, CircleModerationAuditLogEntry[]>;
4190
+ auditLogPagination: Record<string, CursorPaginationState>;
4191
+ automodRules: Record<string, CircleAutomodRule[]>;
4192
+ automodRulesPagination: Record<string, CursorPaginationState>;
4193
+ pendingRequestCircleIds: string[];
4194
+ loading: boolean;
4195
+ error: string | null;
4196
+ pagination: {
4197
+ cursor: string | null;
4198
+ hasMore: boolean;
4199
+ };
4200
+ activeFilterKey: string;
4201
+ circlesByFilter: Record<string, Circle[]>;
4202
+ paginationByFilter: Record<string, CursorPaginationState>;
4203
+ fetchedFilterKeys: Record<string, boolean>;
4204
+ membersPagination: Record<string, {
4205
+ cursor: string | null;
4206
+ hasMore: boolean;
4207
+ }>;
4208
+ filters: {
4209
+ visibility?: import("../index.js").CircleVisibility | undefined;
4210
+ membership?: "joined" | "managed" | "available" | undefined;
4211
+ search?: string | undefined;
4212
+ };
4213
+ } & import("pinia").PiniaCustomStateProperties<CirclesState>) => (circleId: string) => CircleAutomodRule[];
4214
+ }, {
4215
+ setFilters(filters: CircleFilters): void;
4216
+ clearFilters(): void;
4217
+ hasFetchedCurrentFilter(): boolean;
4218
+ ensureManagementState(circleId: string): void;
4219
+ syncRoleAssignmentCompatibility(circleId: string): void;
4220
+ setRoleDefinitionsState(circleId: string, roles: CircleRoleDefinition[], pagination: CursorPaginationState): void;
4221
+ upsertRoleDefinitionState(circleId: string, role: CircleRoleDefinition): void;
4222
+ removeRoleDefinitionState(circleId: string, roleId: string): void;
4223
+ updateMemberRoleState(circleId: string, userId: string, patch: Partial<CircleMemberState>): void;
4224
+ applyMemberRoleAssignments(circleId: string, userId: string, assignedRoles: CircleRoleDefinition[], effectivePermissions?: string[]): void;
4225
+ setManagementSectionLoading(circleId: string, key: ManagementCollectionKey, loading: boolean): void;
4226
+ setManagementSectionError(circleId: string, key: ManagementCollectionKey, error: string | null): void;
4227
+ applyCircleSnapshot(circle: Circle): void;
4228
+ applyManagementBootstrap(bootstrap: CircleManagementBootstrap): void;
4229
+ fetchCircles(refresh?: boolean): Promise<void>;
4230
+ fetchCircle(id: string): Promise<Circle>;
4231
+ createCircle(data: CircleCreateInput): Promise<Circle>;
4232
+ updateCircle(id: string, data: CircleUpdateInput): Promise<Circle>;
4233
+ deleteCircle(id: string): Promise<void>;
4234
+ joinCircle(id: string): Promise<void>;
4235
+ leaveCircle(id: string): Promise<void>;
4236
+ applyLiveMemberCount(circleId: string, memberCount: number): void;
4237
+ fetchMembers(circleId: string, refresh?: boolean): Promise<void>;
4238
+ addMember(circleId: string, member: CircleMemberState): void;
4239
+ removeMember(circleId: string, userId: string): void;
4240
+ changeMemberRole(circleId: string, userId: string, newRole: "admin" | "member"): Promise<void>;
4241
+ removeMemberFromCircle(circleId: string, userId: string): Promise<void>;
4242
+ muteMemberInCircle(circleId: string, userId: string, options?: CircleMuteMemberOptions): Promise<void>;
4243
+ bootstrapManagement(circleId: string): Promise<CircleManagementBootstrap>;
4244
+ fetchRoleDefinitions(circleId: string, refresh?: boolean): Promise<CircleRoleDefinition[]>;
4245
+ createRoleDefinition(circleId: string, input: CircleRoleDefinitionInput): Promise<CircleRoleDefinition>;
4246
+ updateRoleDefinition(circleId: string, roleId: string, input: CircleRoleDefinitionUpdateInput): Promise<CircleRoleDefinition>;
4247
+ replaceRoleDefinitionPermissions(circleId: string, roleId: string, permissions: string[]): Promise<CircleRoleDefinition>;
4248
+ archiveRoleDefinition(circleId: string, roleId: string): Promise<void>;
4249
+ assignMemberRoles(circleId: string, userId: string, roleIds: string[]): Promise<{
4250
+ assigned_roles: CircleRoleDefinition[];
4251
+ effective_permissions: string[];
4252
+ }>;
4253
+ removeMemberRole(circleId: string, userId: string, roleId: string): Promise<void>;
4254
+ fetchRoleAssignments(circleId: string, refresh?: boolean): Promise<CircleRoleAssignment[]>;
4255
+ transferOwnership(circleId: string, userId: string): Promise<void>;
4256
+ fetchModerationReports(circleId: string, refresh?: boolean, status?: "pending" | "actioned" | "dismissed"): Promise<CircleModerationReport[]>;
4257
+ reportMemberInCircle(circleId: string, subjectUserId: string, category: string, notes?: string): Promise<void>;
4258
+ resolveReportInCircle(circleId: string, reportId: string, decision: CircleReportDecision, resolutionNotes?: string): Promise<{
4259
+ report_id: string;
4260
+ status: string;
4261
+ }>;
4262
+ fetchBans(circleId: string, refresh?: boolean): Promise<CircleBanRecord[]>;
4263
+ banMemberInCircle(circleId: string, userId: string, options?: {
4264
+ reason?: string;
4265
+ }): Promise<void>;
4266
+ unbanMemberInCircle(circleId: string, userId: string): Promise<void>;
4267
+ fetchMutes(circleId: string, refresh?: boolean): Promise<CircleMuteRecord[]>;
4268
+ unmuteMemberInCircle(circleId: string, userId: string): Promise<void>;
4269
+ fetchAuditLog(circleId: string, refresh?: boolean): Promise<CircleModerationAuditLogEntry[]>;
4270
+ fetchAutomodRules(circleId: string, refresh?: boolean): Promise<CircleAutomodRule[]>;
4271
+ createAutomodRuleInCircle(circleId: string, input: CircleAutomodRuleInput): Promise<CircleAutomodRule>;
4272
+ updateAutomodRuleInCircle(circleId: string, ruleId: string, input: Partial<CircleAutomodRuleInput>): Promise<CircleAutomodRule>;
4273
+ deleteAutomodRuleInCircle(circleId: string, ruleId: string): Promise<void>;
4274
+ requestJoinCircle(id: string, message?: string): Promise<void>;
4275
+ fetchJoinRequests(circleId: string, status?: string): Promise<void>;
4276
+ moderateJoinRequest(circleId: string, requestId: string, decision: "approve" | "reject"): Promise<void>;
4277
+ syncPendingJoinRequestStatuses(): Promise<void>;
4278
+ createInviteLink(circleId: string, options?: Pick<CircleInviteLinkOptions, "max_uses" | "expires_in_minutes">): Promise<InviteLink>;
4279
+ hasPendingRequest(circleId: string): boolean;
4280
+ clearState(): void;
4281
+ }>;
4282
+ export {};
4283
+ //# sourceMappingURL=circles.d.ts.map