@fluid-app/portal-sdk 0.1.99 → 0.1.101

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.
@@ -14,7 +14,7 @@ import "./CalendarWidget-Qb-utCFD.mjs";
14
14
  import "./CardWidget-zVxobZDH.mjs";
15
15
  import "./purify.es-CfNPLbup.mjs";
16
16
  import "./src-D6DimP34.mjs";
17
- import { n as messagingScreenPropertySchema, t as MessagingScreen } from "./MessagingScreen-DTXSZ-Oa.mjs";
17
+ import { n as messagingScreenPropertySchema, t as MessagingScreen } from "./MessagingScreen-CBuI3fu6.mjs";
18
18
  import "./scroll-arrows-C4VRsVrO.mjs";
19
19
  import "./MediaRenderer-Cfvg51w8.mjs";
20
20
  import "./CarouselWidget-Hre6Pz6P.mjs";
@@ -33,7 +33,6 @@ import "./SpacerWidget-B3zkEePP.mjs";
33
33
  import "./TableWidget-CC4XnRF2.mjs";
34
34
  import "./ToDoWidget-qyFLHU_o.mjs";
35
35
  import "./VideoWidget-CpUPsOI7.mjs";
36
- import "./use-fluid-api-CaSYWFuj.mjs";
37
36
  import "./dist-NMbUD0qE.mjs";
38
37
  import "./es-BCKjXBqj.mjs";
39
38
  export { MessagingScreen, messagingScreenPropertySchema };
@@ -32,10 +32,7 @@ import "./SpacerWidget-B3zkEePP.mjs";
32
32
  import "./TableWidget-CC4XnRF2.mjs";
33
33
  import "./ToDoWidget-qyFLHU_o.mjs";
34
34
  import "./VideoWidget-CpUPsOI7.mjs";
35
- import "./use-account-clients-Dsqx0mKw.mjs";
36
35
  import "./ScreenHeaderContext-CrdfLGKk.mjs";
37
- import "./use-fluid-api-CaSYWFuj.mjs";
38
- import "./use-current-user-BMI-LR9t.mjs";
39
36
  import "./dist-NMbUD0qE.mjs";
40
37
  import "./es-BCKjXBqj.mjs";
41
38
  import "./dist-oYNtEpKP.mjs";
@@ -32,10 +32,7 @@ import "./SpacerWidget-B3zkEePP.mjs";
32
32
  import "./TableWidget-CC4XnRF2.mjs";
33
33
  import "./ToDoWidget-qyFLHU_o.mjs";
34
34
  import "./VideoWidget-CpUPsOI7.mjs";
35
- import "./use-account-clients-Dsqx0mKw.mjs";
36
35
  import "./ScreenHeaderContext-CrdfLGKk.mjs";
37
- import "./use-fluid-api-CaSYWFuj.mjs";
38
- import "./use-current-user-BMI-LR9t.mjs";
39
36
  import { n as shareablesScreenPropertySchema, t as ShareablesScreen } from "./ShareablesScreen-Cy7w85IH.mjs";
40
37
  import "./dist-NMbUD0qE.mjs";
41
38
  import "./es-BCKjXBqj.mjs";
package/dist/index.cjs CHANGED
@@ -41,7 +41,7 @@ const require_use_current_user = require("./use-current-user-LLJ1GtNB.cjs");
41
41
  const require_ShareablesScreen = require("./ShareablesScreen-CVT7u2hN.cjs");
42
42
  const require_CustomersScreen = require("./CustomersScreen-9f10-_AZ.cjs");
43
43
  const require_AppNavigationContext = require("./AppNavigationContext-Agp0UkCQ.cjs");
44
- const require_MessagingScreen = require("./MessagingScreen-B9CCsimy.cjs");
44
+ const require_MessagingScreen = require("./MessagingScreen-Cgx3jwpr.cjs");
45
45
  const require_ProfileScreen = require("./ProfileScreen-DtmReqa8.cjs");
46
46
  require("./dist-DRVtlgQ1.cjs");
47
47
  require("./es-DlWO6buB.cjs");
@@ -3002,7 +3002,7 @@ function AccountManageLayout({ children }) {
3002
3002
  const ProfileScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./ProfileScreen-B46jd4Ic.cjs")).then((m) => ({ default: m.ProfileScreen })));
3003
3003
  const OrdersScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./OrdersScreen-DCzYEgsP.cjs")).then((m) => ({ default: m.OrdersScreen })));
3004
3004
  const SubscriptionsScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./SubscriptionsScreen-BqOb2kYR.cjs")).then((m) => ({ default: m.SubscriptionsScreen })));
3005
- const MessagingScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./MessagingScreen-5jw8KSLQ.cjs")).then((m) => ({ default: m.MessagingScreen })));
3005
+ const MessagingScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./MessagingScreen-CGS7aG1A.cjs")).then((m) => ({ default: m.MessagingScreen })));
3006
3006
  const ContactsScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./ContactsScreen-D4WQ59ib.cjs")).then((m) => ({ default: m.ContactsScreen })));
3007
3007
  const ShopScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./ShopScreen-wYtLEGXo.cjs")).then((m) => ({ default: m.ShopScreen })));
3008
3008
  const CustomersScreen$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("./CustomersScreen-9f10-_AZ.cjs")).then((n) => n.CustomersScreen_exports).then((m) => ({ default: m.CustomersScreen })));
@@ -4469,7 +4469,7 @@ function useContact(_contactId) {
4469
4469
  //#region src/screens/index.ts
4470
4470
  const screenPropertySchemas = {
4471
4471
  ProfileScreen: () => Promise.resolve().then(() => require("./ProfileScreen-B46jd4Ic.cjs")).then((m) => m.profileScreenPropertySchema),
4472
- MessagingScreen: () => Promise.resolve().then(() => require("./MessagingScreen-5jw8KSLQ.cjs")).then((m) => m.messagingScreenPropertySchema),
4472
+ MessagingScreen: () => Promise.resolve().then(() => require("./MessagingScreen-CGS7aG1A.cjs")).then((m) => m.messagingScreenPropertySchema),
4473
4473
  ContactsScreen: () => Promise.resolve().then(() => require("./ContactsScreen-D4WQ59ib.cjs")).then((m) => m.contactsScreenPropertySchema),
4474
4474
  OrdersScreen: () => Promise.resolve().then(() => require("./OrdersScreen-DCzYEgsP.cjs")).then((m) => m.ordersScreenPropertySchema),
4475
4475
  SubscriptionsScreen: () => Promise.resolve().then(() => require("./SubscriptionsScreen-BqOb2kYR.cjs")).then((m) => m.subscriptionsScreenPropertySchema),
package/dist/index.d.cts CHANGED
@@ -1560,6 +1560,8 @@ interface Product {
1560
1560
  readonly display_price?: string;
1561
1561
  readonly currency_code?: string;
1562
1562
  readonly updated_at?: string;
1563
+ readonly bundle?: boolean;
1564
+ readonly canonical_url?: string | null;
1563
1565
  }
1564
1566
  interface ProductListParams extends BaseListParams {
1565
1567
  readonly search_query?: string;
@@ -3080,16 +3082,365 @@ declare function AuthError({
3080
3082
  */
3081
3083
  declare function AuthLoading(): React.JSX.Element;
3082
3084
  //#endregion
3083
- //#region ../../messaging/api-client/src/client.d.ts
3084
- /**
3085
- * Configuration for the messaging API client.
3086
- * The consuming app provides auth headers and base URL.
3087
- */
3088
- interface MessagingApiConfig {
3089
- baseUrl: string;
3090
- getHeaders: () => Record<string, string> | Promise<Record<string, string>>;
3091
- onAuthError?: () => void;
3085
+ //#region ../../messaging/core/src/types.d.ts
3086
+ /**
3087
+ * Domain types for the messaging package.
3088
+ *
3089
+ * These are owned by messaging-core and represent the contract that
3090
+ * any API adapter (current client, future BFF) must satisfy.
3091
+ * Consuming packages import from here — never from the API client directly.
3092
+ */
3093
+ interface PaginationObject {
3094
+ pagination: {
3095
+ current: number;
3096
+ previous: number | null;
3097
+ next: number | null;
3098
+ per_page: number;
3099
+ pages: number;
3100
+ count: number;
3101
+ };
3102
+ }
3103
+ type Paginated<T> = [PaginationObject, {
3104
+ items: T[];
3105
+ }];
3106
+ interface AttachmentMetadata {
3107
+ width?: number;
3108
+ height?: number;
3109
+ }
3110
+ interface Attachment {
3111
+ id: number;
3112
+ url: string;
3113
+ filename: string;
3114
+ kind: string;
3115
+ image_url: string | null;
3116
+ image_path: string | null;
3117
+ content_type: string | null;
3118
+ attachable_type: string | null;
3119
+ attachable_id: number | null;
3120
+ thumbnail_url: string | null;
3121
+ metadata: AttachmentMetadata | null;
3122
+ content_size: number | null;
3123
+ }
3124
+ interface MessageAttachmentInput {
3125
+ url: string;
3126
+ filename: string;
3127
+ kind: string;
3128
+ content_type?: string;
3129
+ content_size?: number;
3130
+ metadata?: AttachmentMetadata;
3131
+ }
3132
+ interface LinkPreview {
3133
+ url: string;
3134
+ title?: string | null;
3135
+ description?: string | null;
3136
+ images?: string[];
3137
+ videos?: string[];
3138
+ favicon?: string | null;
3139
+ error?: string | null;
3140
+ original_url?: string | null;
3141
+ }
3142
+ interface InfoMessageRecipient {
3143
+ id: number;
3144
+ first_name: string;
3145
+ last_name: string;
3092
3146
  }
3147
+ interface DefaultMessageMetadata {
3148
+ links: LinkPreview[];
3149
+ client_message_id?: string | number | null;
3150
+ }
3151
+ interface SystemConversationUpdateMetadata {
3152
+ name: string;
3153
+ previous_name: string;
3154
+ client_message_id?: string | number | null;
3155
+ links?: LinkPreview[];
3156
+ }
3157
+ interface SystemConversationCreatedMetadata {
3158
+ conversation_name: string;
3159
+ description?: string;
3160
+ member_count: number;
3161
+ auto_add_recipients: boolean;
3162
+ client_message_id?: string | number | null;
3163
+ links?: LinkPreview[];
3164
+ }
3165
+ interface SystemRecipientActionMetadata {
3166
+ recipient_ids_added?: number[];
3167
+ recipient_ids_removed?: number[];
3168
+ recipient_ids_left?: number[];
3169
+ recipient_ids_joined?: number[];
3170
+ recipient_added?: InfoMessageRecipient[];
3171
+ recipient_removed?: InfoMessageRecipient[];
3172
+ recipient_left?: InfoMessageRecipient[];
3173
+ recipient_joined?: InfoMessageRecipient[];
3174
+ client_message_id?: string | number | null;
3175
+ links?: LinkPreview[];
3176
+ }
3177
+ interface InfoMessageMetadataShape {
3178
+ recipient_added?: InfoMessageRecipient[];
3179
+ recipient_ids_added?: number[];
3180
+ recipient_removed?: InfoMessageRecipient[];
3181
+ recipient_ids_removed?: number[];
3182
+ links?: LinkPreview[];
3183
+ client_message_id?: string | number | null;
3184
+ }
3185
+ type MessageMetadata = DefaultMessageMetadata | null | SystemConversationUpdateMetadata | SystemConversationCreatedMetadata | SystemRecipientActionMetadata | InfoMessageMetadataShape;
3186
+ interface Recipient {
3187
+ id: number;
3188
+ first_name: string;
3189
+ last_name: string;
3190
+ avatar_url: string | null;
3191
+ image_url: string | null;
3192
+ receivable_id: number;
3193
+ receivable_type: "Contact" | "UserCompany";
3194
+ discarded_at: string | null;
3195
+ left_conversation_at: string | null;
3196
+ blocked: boolean | null;
3197
+ country_name: string | null;
3198
+ pro_user: boolean;
3199
+ avatar_background: string | null;
3200
+ email?: string | null;
3201
+ phone?: string | null;
3202
+ status?: "online" | "offline" | "away";
3203
+ last_online?: string | null;
3204
+ "conversation_messaging_enabled?"?: boolean;
3205
+ }
3206
+ interface ReducedRecipient {
3207
+ id: number;
3208
+ first_name: string;
3209
+ last_name: string;
3210
+ image_url: string | null;
3211
+ discarded_at: string | null;
3212
+ blocked: boolean | null;
3213
+ blocker: boolean | null;
3214
+ avatar_background: string | null;
3215
+ seen_at?: string | null;
3216
+ email?: string | null;
3217
+ phone?: string | null;
3218
+ pro_user?: boolean;
3219
+ }
3220
+ interface SlimmedRecipient {
3221
+ id: number;
3222
+ first_name: string;
3223
+ last_name: string;
3224
+ discarded_at: string | null;
3225
+ blocked: boolean | null;
3226
+ avatar_background: string | null;
3227
+ email?: string | null;
3228
+ phone?: string | null;
3229
+ removed_at?: string | null;
3230
+ }
3231
+ interface WithContactRecipient {
3232
+ id: number;
3233
+ email?: string | null;
3234
+ phone?: string | null;
3235
+ first_name?: string | null;
3236
+ last_name?: string | null;
3237
+ image_url: string | null;
3238
+ receivable_id: number;
3239
+ receivable_type: "Contact";
3240
+ }
3241
+ interface RecipientSearchCount {
3242
+ meta: {
3243
+ count: number;
3244
+ };
3245
+ }
3246
+ type FluidMessage = {
3247
+ id: number;
3248
+ body: string;
3249
+ type: string;
3250
+ created_at: string;
3251
+ updated_at?: string | null;
3252
+ deleted_at?: string | null;
3253
+ edited_at?: string | null;
3254
+ conversation_id: number;
3255
+ status: string;
3256
+ attachments: Attachment[];
3257
+ reaction_stats: Record<string, number> | null;
3258
+ reaction?: string | null;
3259
+ metadata?: MessageMetadata;
3260
+ emoji_only_count?: number;
3261
+ mentioned_recipients: SlimmedRecipient[];
3262
+ sent_at?: string;
3263
+ pinned?: boolean;
3264
+ scheduled_at?: string;
3265
+ replied_to_message?: ({
3266
+ id: number;
3267
+ } & Record<string, unknown>) | null;
3268
+ sender_recipient: ReducedRecipient;
3269
+ seen_by: unknown;
3270
+ seen_by_count: unknown;
3271
+ };
3272
+ interface MessagePinResponse {
3273
+ message: string;
3274
+ pinned: boolean;
3275
+ }
3276
+ interface BaseConversation {
3277
+ id: number;
3278
+ name: string;
3279
+ description: string | null;
3280
+ kind: string | null;
3281
+ type: string;
3282
+ status: string;
3283
+ created_at: string;
3284
+ pinned: boolean;
3285
+ unread_messages_count?: number | null;
3286
+ "sms_enabled?": boolean;
3287
+ draft_message: DraftMessage | null;
3288
+ "email_enabled?": boolean;
3289
+ conversation_type: string;
3290
+ "messaging_enabled?": boolean;
3291
+ broadcasting: boolean | null;
3292
+ total_recipients: number;
3293
+ unread?: boolean | null;
3294
+ image_url: string | null;
3295
+ auto_add_recipients?: boolean | null;
3296
+ muted?: boolean | null;
3297
+ announcing?: boolean | null;
3298
+ scheduled_messages_count?: number | null;
3299
+ avatar_background_color: string | null;
3300
+ avatar_emoji: string | null;
3301
+ avatar_url: string | null;
3302
+ pinned_messages_count?: number | null;
3303
+ recipients: Recipient[];
3304
+ creator: ReducedRecipient | null;
3305
+ }
3306
+ interface EmailConversation extends BaseConversation {
3307
+ type: "EmailConversation";
3308
+ kind: null;
3309
+ "sms_enabled?": false;
3310
+ "email_enabled?": true;
3311
+ broadcasting: null;
3312
+ }
3313
+ interface ChannelConversation extends BaseConversation {
3314
+ type: "ChannelConversation";
3315
+ kind: "channel";
3316
+ "sms_enabled?": false;
3317
+ "email_enabled?": false;
3318
+ }
3319
+ interface GroupConversation extends BaseConversation {
3320
+ type: "GroupConversation";
3321
+ kind: "group";
3322
+ "sms_enabled?": false;
3323
+ "email_enabled?": false;
3324
+ broadcasting: null;
3325
+ }
3326
+ interface SmsConversation extends BaseConversation {
3327
+ type: "SmsConversation";
3328
+ kind: null;
3329
+ "sms_enabled?": true;
3330
+ "email_enabled?": false;
3331
+ broadcasting: null;
3332
+ }
3333
+ interface DirectConversation extends BaseConversation {
3334
+ type: "DirectConversation";
3335
+ kind: "direct";
3336
+ "sms_enabled?": false;
3337
+ "email_enabled?": false;
3338
+ broadcasting: null;
3339
+ }
3340
+ interface BotConversation extends BaseConversation {
3341
+ type: "BotConversation";
3342
+ kind: "direct";
3343
+ "sms_enabled?": false;
3344
+ "email_enabled?": false;
3345
+ broadcasting: null;
3346
+ }
3347
+ interface DownlineConversation extends BaseConversation {
3348
+ type: "DownlineConversation";
3349
+ kind: "downline";
3350
+ "sms_enabled?": false;
3351
+ "email_enabled?": false;
3352
+ broadcasting: null;
3353
+ }
3354
+ type Conversation$1 = EmailConversation | ChannelConversation | GroupConversation | SmsConversation | DirectConversation | BotConversation | DownlineConversation;
3355
+ type ListConversationsInput = {
3356
+ status?: "open" | "closed";
3357
+ kind?: "direct" | "group" | "channel";
3358
+ pinned?: boolean;
3359
+ per_page?: number;
3360
+ page?: number;
3361
+ template?: string;
3362
+ search?: string;
3363
+ filterrific?: Record<string, unknown>;
3364
+ } | undefined;
3365
+ type ConversationCreateInput = {
3366
+ conversation: {
3367
+ kind?: string;
3368
+ type?: string;
3369
+ name?: string;
3370
+ description?: string | null;
3371
+ broadcasting?: boolean;
3372
+ filter?: Record<string, unknown>;
3373
+ auto_add_recipients?: boolean;
3374
+ };
3375
+ recipients?: {
3376
+ id?: number;
3377
+ uid?: number;
3378
+ email?: string;
3379
+ phone?: string;
3380
+ first_name?: string;
3381
+ last_name?: string;
3382
+ image_url?: string;
3383
+ }[];
3384
+ };
3385
+ type FindConversationInput = {
3386
+ contact_id: number;
3387
+ conversation_type: "ChannelConversation" | "DirectConversation" | "GroupConversation" | "SmsConversation" | "EmailConversation" | "channel" | "direct" | "group";
3388
+ };
3389
+ type CreateMessageInput = {
3390
+ message: {
3391
+ body?: string;
3392
+ theme?: string;
3393
+ subject?: string;
3394
+ type?: string;
3395
+ attachments_attributes?: MessageAttachmentInput[];
3396
+ };
3397
+ client_message_id?: string | number;
3398
+ };
3399
+ type ScheduledMessageInput = {
3400
+ scheduled_message: {
3401
+ body?: string;
3402
+ theme?: string;
3403
+ scheduled_at: string;
3404
+ attachments_attributes?: MessageAttachmentInput[];
3405
+ type?: string;
3406
+ };
3407
+ };
3408
+ type SaveDraftInput = {
3409
+ draft_message: {
3410
+ body?: string | null;
3411
+ replied_to_id?: number | null;
3412
+ attachments_attributes?: (MessageAttachmentInput & {
3413
+ id?: number;
3414
+ _destroy?: boolean;
3415
+ })[];
3416
+ };
3417
+ };
3418
+ interface DraftMessage {
3419
+ id: number;
3420
+ body: string | null;
3421
+ created_at: string;
3422
+ updated_at: string;
3423
+ scheduled_at: string | null;
3424
+ metadata?: unknown;
3425
+ replied_to_message: ({
3426
+ id: number;
3427
+ } & Record<string, unknown>) | null;
3428
+ mentioned_recipients: ({
3429
+ id: number;
3430
+ } & Record<string, unknown>)[];
3431
+ attachments: Attachment[];
3432
+ sender_recipient?: ReducedRecipient;
3433
+ conversation?: {
3434
+ id: number;
3435
+ name: string | null;
3436
+ } & Record<string, unknown>;
3437
+ }
3438
+ type ListConnectedRecipientsInput = {
3439
+ kind?: "external" | "sms" | "email" | "internal";
3440
+ filterrific?: Record<string, unknown>;
3441
+ per_page?: number;
3442
+ page?: number;
3443
+ };
3093
3444
  //#endregion
3094
3445
  //#region ../../messaging/core/src/auth-types.d.ts
3095
3446
  interface MessagingAuthContext {
@@ -3137,12 +3488,83 @@ type FileUploader = {
3137
3488
  };
3138
3489
  };
3139
3490
  //#endregion
3491
+ //#region ../../messaging/core/src/messaging-api.d.ts
3492
+ /**
3493
+ * Interface defining all messaging API operations that core hooks need.
3494
+ * Each app provides an implementation via {@link MessagingApiProvider},
3495
+ * decoupling shared packages from concrete API clients.
3496
+ */
3497
+ interface MessagingApi {
3498
+ listConversations(input?: ListConversationsInput): Promise<Paginated<Conversation$1>>;
3499
+ getConversation(conversationId: number): Promise<Conversation$1>;
3500
+ findConversation(input: FindConversationInput): Promise<Conversation$1>;
3501
+ createConversation(input: ConversationCreateInput): Promise<Conversation$1>;
3502
+ getAnnouncementChannel(): Promise<Conversation$1>;
3503
+ listMessages(conversationId: number, input?: {
3504
+ preview?: boolean;
3505
+ message_id?: number;
3506
+ after?: number;
3507
+ before?: number;
3508
+ sorted_by?: string;
3509
+ per_page?: number;
3510
+ page?: number;
3511
+ }): Promise<Paginated<FluidMessage>>;
3512
+ createMessage(conversationId: number, input: CreateMessageInput): Promise<FluidMessage>;
3513
+ replyToMessage(conversationId: number, messageId: number, input: CreateMessageInput): Promise<FluidMessage>;
3514
+ reactToMessage(conversationId: number, input: {
3515
+ message_id: number;
3516
+ reaction: string;
3517
+ }): Promise<string>;
3518
+ unreactToMessage(conversationId: number, input: {
3519
+ message_id: number;
3520
+ }): Promise<string>;
3521
+ pinMessage(conversationId: number, messageId: number): Promise<MessagePinResponse>;
3522
+ unpinMessage(conversationId: number, messageId: number): Promise<MessagePinResponse>;
3523
+ listPinnedMessages(conversationId: number, input?: {
3524
+ sorted_by?: string;
3525
+ per_page?: number;
3526
+ page?: number;
3527
+ }): Promise<Paginated<FluidMessage>>;
3528
+ listScheduledMessages(conversationId: number, input?: {
3529
+ per_page?: number;
3530
+ page?: number;
3531
+ }): Promise<Paginated<FluidMessage>>;
3532
+ createScheduledMessage(conversationId: number, input: ScheduledMessageInput): Promise<FluidMessage>;
3533
+ updateScheduledMessage(conversationId: number, id: number, input: ScheduledMessageInput): Promise<FluidMessage>;
3534
+ destroyScheduledMessage(conversationId: number, id: number): Promise<{
3535
+ success: boolean;
3536
+ message: string;
3537
+ }>;
3538
+ listMyScheduledMessages(input?: {
3539
+ per_page?: number;
3540
+ page?: number;
3541
+ }): Promise<Paginated<DraftMessage>>;
3542
+ saveDraft(conversationId: number, input: SaveDraftInput): Promise<DraftMessage | Record<string, never>>;
3543
+ destroyDraft(conversationId: number): Promise<unknown>;
3544
+ searchRecipientsCount(input: {
3545
+ filter: Record<string, unknown>;
3546
+ }): Promise<RecipientSearchCount>;
3547
+ listConnectedRecipients(input: ListConnectedRecipientsInput): Promise<Paginated<Recipient | WithContactRecipient>>;
3548
+ }
3549
+ //#endregion
3140
3550
  //#region src/messaging/use-messaging-auth.d.ts
3141
3551
  declare function useMessagingAuth(): MessagingAuthContext;
3142
3552
  //#endregion
3553
+ //#region ../../messaging/api-client/src/client.d.ts
3554
+ /**
3555
+ * Configuration for the messaging API client.
3556
+ * The consuming app provides auth headers and base URL.
3557
+ */
3558
+ interface MessagingApiConfig {
3559
+ baseUrl: string;
3560
+ getHeaders: () => Record<string, string> | Promise<Record<string, string>>;
3561
+ onAuthError?: () => void;
3562
+ }
3563
+ //#endregion
3143
3564
  //#region src/messaging/use-messaging-config.d.ts
3144
3565
  interface MessagingConfig {
3145
3566
  readonly apiConfig: MessagingApiConfig;
3567
+ readonly messagingApi: MessagingApi;
3146
3568
  readonly websocketUrl: string;
3147
3569
  readonly token: string | null;
3148
3570
  }