@acorex/components 22.0.0-next.35 → 22.0.0-next.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "22.0.0-next.35",
3
+ "version": "22.0.0-next.36",
4
4
  "peerDependencies": {
5
- "@acorex/core": "22.0.0-next.35",
6
- "@acorex/cdk": "22.0.0-next.35",
5
+ "@acorex/core": "22.0.0-next.36",
6
+ "@acorex/cdk": "22.0.0-next.36",
7
7
  "polytype": ">=0.17.0",
8
8
  "angular-imask": ">=7.6.1",
9
9
  "imask": ">=7.6.1",
@@ -37,9 +37,11 @@ declare class AXConversationComposerPopupComponent implements OnDestroy {
37
37
  /** Close event for popup service */
38
38
  readonly onClosed: _angular_core.OutputEmitterRef<AXComponentCloseEvent>;
39
39
  /** Active tab ID */
40
- private readonly activeTabId;
40
+ readonly activeTabId: _angular_core.WritableSignal<string>;
41
41
  /** Enabled tabs from registry */
42
42
  readonly enabledTabs: _angular_core.Signal<_acorex_components_conversation.AXConversationComposerTab[]>;
43
+ /** Whether more than one tab is available */
44
+ readonly hasMultipleTabs: _angular_core.Signal<boolean>;
43
45
  getTabTitle(tabId: string): string;
44
46
  constructor();
45
47
  /** Handle tab change */
@@ -451,15 +453,27 @@ interface AXConversationSettings {
451
453
  /** Custom settings */
452
454
  custom?: Record<string, unknown>;
453
455
  }
456
+ /** Theme-specific CSS `background` values for the message list area. */
457
+ interface AXConversationMessageListThemeBackground {
458
+ light: string;
459
+ dark: string;
460
+ }
461
+ /** Single CSS value (both themes) or per-theme `{ light, dark }` backgrounds. */
462
+ type AXConversationMessageListBackground = string | AXConversationMessageListThemeBackground;
454
463
  /**
455
464
  * Conversation metadata
456
465
  * Extensible map for app-specific conversation data.
457
466
  */
458
467
  interface AXConversationMetadata extends Record<string, unknown> {
459
- /** Optional custom background CSS for message list */
460
- messageListBackground?: string;
468
+ /** Optional custom background CSS for message list (per light/dark theme). */
469
+ messageListBackground?: AXConversationMessageListBackground;
461
470
  /** Optional custom empty-state component for the message list. */
462
471
  messageListEmptyComponent?: Type<AXConversationMessageListEmptyComponent>;
472
+ /**
473
+ * When `false`, hides reaction UI (add button, bubbles, picker) for this conversation.
474
+ * Defaults to `true` when omitted.
475
+ */
476
+ reactionsEnabled?: boolean;
463
477
  }
464
478
  /** Contract for custom empty-state components rendered by message list. */
465
479
  interface AXConversationMessageListEmptyComponent {
@@ -852,6 +866,7 @@ declare class AXConversationComposerActionRegistry {
852
866
  private readonly translation;
853
867
  private readonly injector;
854
868
  private readonly fileTypeRegistry;
869
+ private readonly composerTabRegistry;
855
870
  constructor();
856
871
  /** All registered actions */
857
872
  readonly actions: _angular_core.Signal<AXConversationComposerAction[]>;
@@ -945,6 +960,8 @@ declare class AXConversationComposerTabRegistry {
945
960
  readonly tabs: _angular_core.Signal<AXConversationComposerTab[]>;
946
961
  /** Enabled tabs sorted by priority */
947
962
  readonly enabledTabs: _angular_core.Signal<AXConversationComposerTab[]>;
963
+ /** Whether the composer popup has any tabs to show. */
964
+ readonly hasEnabledTabs: _angular_core.Signal<boolean>;
948
965
  /**
949
966
  * Register a composer tab
950
967
  */
@@ -1937,6 +1954,11 @@ interface AXConversationCreateData {
1937
1954
  icon?: string;
1938
1955
  /** Custom metadata */
1939
1956
  metadata?: Record<string, unknown>;
1957
+ /**
1958
+ * When `true`, create a new private chat even if one already exists with the same participants.
1959
+ * Defaults to `false` for private conversations.
1960
+ */
1961
+ forceCreate?: boolean;
1940
1962
  }
1941
1963
  /**
1942
1964
  * Conversation update data
@@ -3228,6 +3250,8 @@ declare class AXConversationService {
3228
3250
  private initPromise;
3229
3251
  /** Generation counter — stale page-0 loads are ignored after conversation switches. */
3230
3252
  private messageLoadGeneration;
3253
+ /** Bumps when a conversation is created while a list load is in flight. */
3254
+ private conversationListLoadGeneration;
3231
3255
  /** Batched read-receipt queue keyed by conversation ID. */
3232
3256
  private readonly readQueue;
3233
3257
  private readFlushHandle;
@@ -3376,6 +3400,11 @@ declare class AXConversationService {
3376
3400
  * Updates conversation metadata including unread count, last message, etc.
3377
3401
  */
3378
3402
  private handleConversationUpdate;
3403
+ /**
3404
+ * Insert or refresh a conversation in the in-memory inbox.
3405
+ * @param promote When true, bumps activity so the chat sorts to the top (create / reopen).
3406
+ */
3407
+ private syncConversationToInbox;
3379
3408
  /**
3380
3409
  * Update conversation's last message
3381
3410
  */
@@ -3415,9 +3444,12 @@ declare class AXConversationService {
3415
3444
  * @param participantIds - Array of participant user IDs
3416
3445
  * @param type - Conversation type (private, group, channel)
3417
3446
  * @param metadata - Optional metadata (title, avatar, etc.)
3418
- * @returns Created conversation
3447
+ * @param options - Optional flags (`forceCreate` recreates private chats even when one exists)
3448
+ * @returns Created or existing conversation
3419
3449
  */
3420
- createConversation(participantIds: string[], type: AXConversationType, metadata?: AXConversationMetadata): Promise<AXConversation>;
3450
+ createConversation(participantIds: string[], type: AXConversationType, metadata?: AXConversationMetadata, options?: {
3451
+ forceCreate?: boolean;
3452
+ }): Promise<AXConversation>;
3421
3453
  /**
3422
3454
  * Get available users for conversation creation
3423
3455
  * @param filters - Optional search filters (e.g. `query`)
@@ -3766,12 +3798,14 @@ declare class AXConversationMessageListComponent implements OnDestroy {
3766
3798
  private readonly infoBarService;
3767
3799
  private readonly translation;
3768
3800
  private readonly document;
3801
+ private readonly platform;
3769
3802
  protected readonly config: Required<_acorex_components_conversation.AXConversationConfig>;
3770
3803
  /**
3771
- * Background for the message list scroll area from config, or the built-in soft gradient when unset/empty.
3804
+ * Background for the message list scroll area from config, or the built-in soft wash when unset/empty.
3772
3805
  * Set `messageListBackground` to `transparent` or `none` for a flat look.
3806
+ * Supports `{ light, dark }` for theme-specific backgrounds.
3773
3807
  */
3774
- messageListBackgroundStyle(): string;
3808
+ readonly messageListBackgroundStyle: _angular_core.Signal<string>;
3775
3809
  resolvedEmptyStateComponent(): Type<AXConversationMessageListEmptyComponent>;
3776
3810
  /** Fallback when no conversation is active and no `ax-conversation-message-list-no-active` content is projected. */
3777
3811
  protected readonly noActiveFallbackComponent: typeof AXConversationMessageListNoActiveDefaultComponent;
@@ -3803,6 +3837,8 @@ declare class AXConversationMessageListComponent implements OnDestroy {
3803
3837
  readonly showScrollButton: _angular_core.WritableSignal<boolean>;
3804
3838
  /** Active conversation */
3805
3839
  readonly activeConversation: _angular_core.Signal<_acorex_components_conversation.AXConversation>;
3840
+ /** Whether the active conversation allows message reactions. */
3841
+ readonly reactionsEnabled: _angular_core.Signal<boolean>;
3806
3842
  /** Messages */
3807
3843
  readonly messages: _angular_core.Signal<AXConversationMessage[]>;
3808
3844
  /** Message action event */
@@ -3875,6 +3911,8 @@ declare class AXConversationMessageListComponent implements OnDestroy {
3875
3911
  userIds: string[];
3876
3912
  hasReacted: boolean;
3877
3913
  }): string;
3914
+ /** Whether reactions can be shown or added for a message in the active conversation. */
3915
+ messageSupportsReactions(message: AXConversationMessage): boolean;
3878
3916
  /** Toggle reaction picker */
3879
3917
  toggleReactionPicker(message: AXConversationMessage, event: MouseEvent): void;
3880
3918
  /** Close reaction picker */
@@ -4012,7 +4050,6 @@ declare class AXConversationMessageListService {
4012
4050
 
4013
4051
  declare class AXConversationSidebarService {
4014
4052
  private readonly conversationService;
4015
- private readonly config;
4016
4053
  constructor();
4017
4054
  private get registry();
4018
4055
  readonly searchQuery: _angular_core.WritableSignal<string>;
@@ -4022,7 +4059,6 @@ declare class AXConversationSidebarService {
4022
4059
  readonly loading: _angular_core.Signal<boolean>;
4023
4060
  readonly hasMoreConversations: _angular_core.Signal<boolean>;
4024
4061
  readonly enabledTabs: _angular_core.Signal<_acorex_components_conversation.AXConversationTab[]>;
4025
- private filterCache;
4026
4062
  readonly filteredConversations: _angular_core.Signal<AXConversation[]>;
4027
4063
  /**
4028
4064
  * Filter and sort conversations
@@ -4054,6 +4090,8 @@ declare class AXConversationSidebarComponent implements OnDestroy {
4054
4090
  private readonly conversationService;
4055
4091
  private readonly popupService;
4056
4092
  private readonly translation;
4093
+ private readonly ngZone;
4094
+ private readonly cdr;
4057
4095
  /** Conversation selected event */
4058
4096
  readonly conversationSelected: _angular_core.OutputEmitterRef<AXConversation>;
4059
4097
  /** Search debouncing */
@@ -4124,6 +4162,7 @@ declare class AXConversationNewDialogComponent extends AXBasePageComponent {
4124
4162
  private readonly _resetWizardWhenSingleEffect;
4125
4163
  private readonly _syncPopupTitleEffect;
4126
4164
  readonly usersListEmptyTpl: _angular_core.Signal<TemplateRef<unknown>>;
4165
+ readonly usersListLoadingTpl: _angular_core.Signal<TemplateRef<unknown>>;
4127
4166
  readonly usersList: _angular_core.Signal<AXListComponent>;
4128
4167
  readonly usersListDataSource: AXDataSource<unknown>;
4129
4168
  onCancel(): void;
@@ -4167,19 +4206,12 @@ declare class AXConversationInfiniteScrollDirective {
4167
4206
  /**
4168
4207
  * Conversation feature flags for configurable bundle size.
4169
4208
  */
4170
- type AXConversationMediaPickerFeature = 'image' | 'video' | 'audio' | 'file' | 'voice' | 'location';
4171
4209
  type AXConversationComposerTabFeature = 'emoji' | 'sticker';
4172
4210
  interface AXConversationFeatures {
4173
- /** Enabled composer media pickers; defaults to all when omitted. */
4174
- mediaPickers?: AXConversationMediaPickerFeature[];
4175
- /** Enabled composer popup tabs; defaults to all when omitted. */
4211
+ /** Enabled built-in composer popup tabs (`emoji`, `sticker`). Defaults to none when omitted. */
4176
4212
  composerTabs?: AXConversationComposerTabFeature[];
4177
4213
  }
4178
- declare const AX_ALL_CONVERSATION_MEDIA_PICKERS: readonly AXConversationMediaPickerFeature[];
4179
- declare const AX_ALL_CONVERSATION_COMPOSER_TABS: readonly AXConversationComposerTabFeature[];
4180
- declare function resolveConversationMediaPickers(features?: AXConversationFeatures): readonly AXConversationMediaPickerFeature[];
4181
4214
  declare function resolveConversationComposerTabs(features?: AXConversationFeatures): readonly AXConversationComposerTabFeature[];
4182
- declare function isMediaPickerEnabled(picker: AXConversationMediaPickerFeature, features?: AXConversationFeatures): boolean;
4183
4215
  declare function isComposerTabEnabled(tab: AXConversationComposerTabFeature, features?: AXConversationFeatures): boolean;
4184
4216
 
4185
4217
  /**
@@ -4239,9 +4271,10 @@ interface AXConversationConfig {
4239
4271
  /**
4240
4272
  * CSS `background` for the message list (`ax-conversation-message-list` area, all states: loading, empty, messages).
4241
4273
  * Use full shorthand, or a bare `https://...` / `/path/to.png` (wrapped as `url(...)` with `center/cover`).
4242
- * Empty string = library default soft gradient. `transparent` or `none` = flat background.
4274
+ * Pass a string for the same value in both themes, or `{ light, dark }` for theme-specific backgrounds.
4275
+ * Empty string = library default. `transparent` or `none` = flat background.
4243
4276
  */
4244
- messageListBackground?: string;
4277
+ messageListBackground?: AXConversationMessageListBackground;
4245
4278
  /** Optional feature flags to reduce bundle size per app. */
4246
4279
  features?: AXConversationFeatures;
4247
4280
  /** Log API calls made by AXConversationService to the console (default: false). */
@@ -4249,20 +4282,31 @@ interface AXConversationConfig {
4249
4282
  }
4250
4283
 
4251
4284
  /**
4285
+
4252
4286
  * Default Configuration Values
4287
+
4253
4288
  * Centralized defaults to avoid magic numbers throughout the codebase
4289
+
4254
4290
  */
4255
4291
 
4256
4292
  /**
4293
+
4257
4294
  * Default conversation configuration
4295
+
4258
4296
  * All values are explicitly defined here for easy maintenance and documentation
4297
+
4259
4298
  */
4260
4299
  declare const AX_DEFAULT_CONVERSATION_CONFIG: Required<AXConversationConfig>;
4261
4300
  /**
4301
+
4262
4302
  * Helper function to merge user config with defaults
4303
+
4263
4304
  * Properly handles array merging to avoid reference issues
4305
+
4264
4306
  * @param userConfig - User-provided configuration
4307
+
4265
4308
  * @returns Merged configuration with all required fields
4309
+
4266
4310
  */
4267
4311
  declare function mergeWithDefaults(userConfig?: Partial<AXConversationConfig>): Required<AXConversationConfig>;
4268
4312
 
@@ -4477,6 +4521,8 @@ declare class AXConversationSharedStorage {
4477
4521
  * Seed initial data if not already seeded
4478
4522
  */
4479
4523
  seedIfEmpty(): Promise<void>;
4524
+ /** Wipe in-memory and persisted demo data (used when seed version changes). */
4525
+ private clearAllData;
4480
4526
  /** @internal Used by demo seed module */
4481
4527
  markSeeded(): void;
4482
4528
  /** @internal Starts demo presence and message simulations */
@@ -4500,6 +4546,11 @@ declare class AXConversationSharedStorage {
4500
4546
  }
4501
4547
  declare const axConversationSharedStorage: AXConversationSharedStorage;
4502
4548
 
4549
+ declare const AX_CONVERSATION_DEMO_CONVERSATION_IDS: {
4550
+ readonly private: "conv-demo-private";
4551
+ readonly group: "conv-demo-group";
4552
+ readonly channel: "conv-demo-channel";
4553
+ };
4503
4554
  declare function seedSharedStorageInitialData(storage: AXConversationSharedStorage): Promise<void>;
4504
4555
 
4505
4556
  /**
@@ -4537,13 +4588,12 @@ declare function paginateChatOldestFirst<T extends {
4537
4588
  }>(sortedOldestFirst: T[], pagination: AXConversationPagination): AXConversationPaginatedResult<T>;
4538
4589
 
4539
4590
  /**
4540
- * Extra seed data so sidebar, message-list, and user-picker pagination can be exercised in the demo.
4591
+ * Pagination demo data disabled for the minimal 3-chat showcase seed.
4592
+ * Kept as a no-op so existing imports remain valid.
4541
4593
  */
4542
- /** Dedicated chat for message-list infinite-scroll / page loading tests. */
4594
+ /** @deprecated Pagination demo chat removed from default seed. */
4543
4595
  declare const AX_MESSAGE_PAGINATION_CONVERSATION_ID = "conv-pag-msgs";
4544
- /**
4545
- * Append demo chats/messages when the DB is too small for default page sizes (30 / 50).
4546
- */
4596
+ /** No-op: showcase uses a fixed 3-conversation seed (private, group, channel). */
4547
4597
  declare function ensurePaginationDemoData(): Promise<void>;
4548
4598
 
4549
4599
  /**
@@ -4566,6 +4616,7 @@ declare function getSortedConversationsForInbox(filters?: AXConversationFilters)
4566
4616
  declare function normalizeAllConversationMessageIndexes(): void;
4567
4617
 
4568
4618
  declare class AXConversationIndexedDbUserApi extends AXConversationUserApi {
4619
+ private readonly API_DELAY_MS;
4569
4620
  getCurrentUser(): Promise<AXConversationParticipant>;
4570
4621
  updateProfile(updates: AXConversationUserProfileUpdate): Promise<AXConversationParticipant>;
4571
4622
  uploadAvatar(file: File): Promise<string>;
@@ -4581,6 +4632,9 @@ declare class AXConversationIndexedDbUserApi extends AXConversationUserApi {
4581
4632
  reportUser(_userId: string, _reason: AXConversationBlockReportReason): Promise<void>;
4582
4633
  getUserSettings(): Promise<Record<string, unknown>>;
4583
4634
  updateUserSettings(_settings: Record<string, unknown>): Promise<void>;
4635
+ private getCurrentUserWithoutDelay;
4636
+ private fetchUsers;
4637
+ private delay;
4584
4638
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationIndexedDbUserApi, never>;
4585
4639
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationIndexedDbUserApi>;
4586
4640
  }
@@ -4961,6 +5015,8 @@ declare class AXConversationAudioPickerComponent implements OnDestroy {
4961
5015
 
4962
5016
  declare const AX_CONVERSATION_COMPOSER_EMOJI_TAB: AXConversationComposerTab;
4963
5017
  declare const AX_CONVERSATION_COMPOSER_STICKER_TAB: AXConversationComposerTab;
5018
+ /** Built-in composer popup tabs keyed by {@link AXConversationComposerTabFeature}. */
5019
+ declare const AX_CONVERSATION_BUILTIN_COMPOSER_TABS: Record<AXConversationComposerTabFeature, AXConversationComposerTab>;
4964
5020
 
4965
5021
  interface AXConversationEmoji {
4966
5022
  char: string;
@@ -5412,13 +5468,12 @@ declare const AX_CONVERSATION_COMPOSER_LOCATION_ACTION: AXConversationComposerAc
5412
5468
 
5413
5469
  /** Ensures built-in conversation catalogs exist on the root file-type registry. */
5414
5470
  declare const AX_CONVERSATION_FILE_TYPES_READY: InjectionToken<boolean>;
5415
- /** Registers validation rules and lazy conversation file-type catalogs for enabled pickers. */
5416
- declare function provideConversationComposerFileTypes(_features?: AXConversationFeatures): Provider[];
5471
+ /** Registers validation rules and lazy conversation file-type catalogs for composer actions. */
5472
+ declare function provideConversationComposerFileTypes(): Provider[];
5417
5473
 
5418
- /** Lazy-loads conversation file catalogs only for enabled media pickers. */
5474
+ /** Lazy-loads conversation file catalogs referenced by registered composer actions. */
5419
5475
  declare class AXConversationComposerFileTypesProvider extends AXFileTypeInfoProvider {
5420
- private readonly config;
5421
- private cache;
5476
+ private readonly composerActions;
5422
5477
  items(): Promise<AXFileType[]>;
5423
5478
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationComposerFileTypesProvider, never>;
5424
5479
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationComposerFileTypesProvider>;
@@ -5490,6 +5545,7 @@ interface AXInfoPanelQuickAction {
5490
5545
  declare class AXConversationInfoPanelComponent extends AXClosableComponent implements OnInit, OnDestroy {
5491
5546
  private readonly toastService;
5492
5547
  readonly translation: AXTranslationService;
5548
+ private readonly platform;
5493
5549
  private readonly injectedConversationService;
5494
5550
  readonly onClosed: _angular_core.OutputEmitterRef<AXComponentCloseEvent>;
5495
5551
  conversation: AXConversation;
@@ -5513,11 +5569,11 @@ declare class AXConversationInfoPanelComponent extends AXClosableComponent imple
5513
5569
  editAvatar: string;
5514
5570
  private groupTitleSaveTimer;
5515
5571
  private groupDetailsSaveInFlight;
5516
- readonly backgroundPresets: Array<{
5517
- id: string;
5572
+ readonly backgroundPresets: {
5518
5573
  label: string;
5519
- value: string;
5520
- }>;
5574
+ id: string;
5575
+ value: AXConversationMessageListThemeBackground;
5576
+ }[];
5521
5577
  readonly heroSubtitle: _angular_core.Signal<string>;
5522
5578
  readonly liveConversation: _angular_core.Signal<AXConversation>;
5523
5579
  readonly isConversationMuted: _angular_core.Signal<boolean>;
@@ -5550,9 +5606,14 @@ declare class AXConversationInfoPanelComponent extends AXClosableComponent imple
5550
5606
  onGroupTitleChange(value: string): void;
5551
5607
  onGroupAvatarChange(value: string): void;
5552
5608
  private persistGroupDetails;
5553
- isBackgroundSelected(value: string): boolean;
5554
- applyMessageListBackground(value: string): Promise<void>;
5609
+ isBackgroundSelected(preset: {
5610
+ id: string;
5611
+ value: AXConversationMessageListThemeBackground;
5612
+ }): boolean;
5613
+ presetBackgroundPreview(preset: AXConversationMessageListThemeBackground): string;
5614
+ applyMessageListBackground(value: AXConversationMessageListBackground): Promise<void>;
5555
5615
  getBackgroundAriaLabel(label: string): string;
5616
+ private translateBackgroundPresetLabel;
5556
5617
  ngOnDestroy(): void;
5557
5618
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationInfoPanelComponent, never>;
5558
5619
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationInfoPanelComponent, "ax-conversation-info-panel", never, {}, { "onClosed": "onClosed"; }, never, never, true, never>;
@@ -6256,8 +6317,35 @@ declare function shouldUseUserAvatarForConversation(conversation: AXConversation
6256
6317
  declare function resolveUserAvatarDisplay(userId: string, conversation: AXConversation | undefined, message?: AXConversationMessage): AXConversationAvatarDisplay;
6257
6318
  declare function resolveConversationAvatarDisplay(conversation: AXConversation, currentUserId?: string): AXConversationAvatarDisplay;
6258
6319
 
6320
+ interface AXConversationMessageListBackgroundPreset {
6321
+ id: string;
6322
+ value: AXConversationMessageListThemeBackground;
6323
+ }
6324
+ /** Library default when no per-conversation or global background is set. */
6325
+ declare const AX_CONVERSATION_DEFAULT_MESSAGE_LIST_THEME_BACKGROUND: AXConversationMessageListThemeBackground;
6326
+ /** Predefined chat-area backgrounds for the info panel (light + dark variants). */
6327
+ declare const AX_CONVERSATION_MESSAGE_LIST_BACKGROUND_PRESETS: AXConversationMessageListBackgroundPreset[];
6328
+ declare const AX_CONVERSATION_DEFAULT_MESSAGE_LIST_BACKGROUND_PRESET_ID = "solid-default";
6329
+
6330
+ /** Subtle chat-area wash when `messageListBackground` is not set (theme-aware). */
6331
+ declare const AX_CONVERSATION_DEFAULT_MESSAGE_LIST_BACKGROUND: string;
6332
+ declare function isMessageListThemeBackground(value: unknown): value is AXConversationMessageListThemeBackground;
6333
+ /** Pick the raw CSS string for the active theme; `undefined` when unset. */
6334
+ declare function resolveMessageListBackgroundRaw(value: AXConversationMessageListBackground | undefined, isDark: boolean): string | undefined;
6335
+ /** Turn bare `https://...` or `/path` into valid CSS `background` for images. */
6336
+ declare function normalizeMessageListBackgroundValue(raw: string): string;
6337
+ /** Resolve config/metadata background for the active theme, with library default fallback. */
6338
+ declare function resolveMessageListBackgroundStyle(value: AXConversationMessageListBackground | undefined, isDark: boolean): string;
6339
+ /** Whether two stored backgrounds represent the same preset (supports legacy string values). */
6340
+ declare function isSameMessageListBackground(a: AXConversationMessageListBackground | undefined, b: AXConversationMessageListThemeBackground, isDark: boolean): boolean;
6341
+
6259
6342
  /** True when the stored title is a placeholder, not a user-defined name. */
6260
6343
  declare function isGenericPrivateConversationTitle(title: string | undefined): boolean;
6344
+ /**
6345
+ * Find an existing private 1:1 conversation between the current user and a peer.
6346
+ * Matches conversations with exactly those two participants.
6347
+ */
6348
+ declare function findExistingPrivateConversation(conversations: AXConversation[], currentUserId: string, peerUserId: string): AXConversation | undefined;
6261
6349
  /** Other participant in a private 1v1 chat (excludes the current viewer). */
6262
6350
  declare function resolvePrivatePeerParticipant(conversation: AXConversation, currentUserId?: string): AXConversationParticipant | undefined;
6263
6351
  /**
@@ -6270,6 +6358,8 @@ declare function resolveConversationTitleForViewer(conversation: AXConversation,
6270
6358
  * Does not mutate the source object.
6271
6359
  */
6272
6360
  declare function resolveConversationForViewer(conversation: AXConversation, currentUserId?: string): AXConversation;
6361
+ /** Whether message reactions are enabled for a conversation. Defaults to `true` when omitted. */
6362
+ declare function isConversationReactionsEnabled(conversation?: AXConversation | null): boolean;
6273
6363
 
6274
6364
  /** Resolves typed `profile`, falling back to legacy `metadata.profile`. */
6275
6365
  declare function resolveParticipantProfile(participant?: AXConversationParticipant): AXConversationUserProfile;
@@ -6865,5 +6955,5 @@ declare function getErrorMessage(code: string, params?: Record<string, string |
6865
6955
  */
6866
6956
  type AXConversationErrorCode = typeof AX_CONVERSATION_MESSAGE_ERRORS[keyof typeof AX_CONVERSATION_MESSAGE_ERRORS]['code'] | typeof AX_CONVERSATION_FILE_ERRORS[keyof typeof AX_CONVERSATION_FILE_ERRORS]['code'] | typeof AX_CONVERSATION_USER_ERRORS[keyof typeof AX_CONVERSATION_USER_ERRORS]['code'] | typeof AX_CONVERSATION_ERRORS[keyof typeof AX_CONVERSATION_ERRORS]['code'] | typeof AX_CONVERSATION_CONNECTION_ERRORS[keyof typeof AX_CONVERSATION_CONNECTION_ERRORS]['code'] | typeof AX_CONVERSATION_LOCATION_ERRORS[keyof typeof AX_CONVERSATION_LOCATION_ERRORS]['code'] | typeof AX_CONVERSATION_URL_ERRORS[keyof typeof AX_CONVERSATION_URL_ERRORS]['code'];
6867
6957
 
6868
- export { AXConversationAiResponderService, AXConversationApi, AXConversationApiLoggerService, AXConversationAudioAttachmentComponent, AXConversationAudioFileTypeProvider, AXConversationAudioPickerComponent, AXConversationAudioRendererComponent, AXConversationBaseRegistry, AXConversationComposerActionRegistry, AXConversationComposerComponent, AXConversationComposerFileTypesProvider, AXConversationComposerPopupComponent, AXConversationComposerService, AXConversationComposerTabRegistry, AXConversationContainerComponent, AXConversationContainerDirective, AXConversationDateUtilsService, AXConversationEmojiTabComponent, AXConversationErrorHandlerService, AXConversationFallbackRendererComponent, AXConversationFileAttachmentComponent, AXConversationFileFileTypeProvider, AXConversationFilePickerComponent, AXConversationFileRendererComponent, AXConversationForwardMessageDialogComponent, AXConversationImageAttachmentComponent, AXConversationImageFileTypeProvider, AXConversationImagePickerComponent, AXConversationImageRendererComponent, AXConversationIndexedDbConversationApi, AXConversationIndexedDbMessageAiApi, AXConversationIndexedDbMessageApi, AXConversationIndexedDbRealtimeApi, AXConversationIndexedDbStorage, AXConversationIndexedDbStores, AXConversationIndexedDbUserApi, AXConversationInfiniteScrollDirective, AXConversationInfoBarActionRegistry, AXConversationInfoBarComponent, AXConversationInfoBarSearchComponent, AXConversationInfoBarService, AXConversationInfoMediaViewComponent, AXConversationInfoPanelComponent, AXConversationItemActionRegistry, AXConversationLocationPickerComponent, AXConversationLocationRendererComponent, AXConversationMediaPlaybackInfoBarBannerComponent, AXConversationMessageActionRegistry, AXConversationMessageApi, AXConversationMessageListComponent, AXConversationMessageListNoActiveDefaultComponent, AXConversationMessageListService, AXConversationMessageRendererCopyHostComponent, AXConversationMessageRendererRegistry, AXConversationMessageRendererStateComponent, AXConversationMessageUtilsService, AXConversationModule, AXConversationNewDialogComponent, AXConversationPickerCaptionComponent, AXConversationPickerEmptyComponent, AXConversationPickerFooterComponent, AXConversationPickerHeaderComponent, AXConversationPickerShellComponent, AXConversationPickerToolbarComponent, AXConversationRealtimeApi, AXConversationRegistryService, AXConversationService, AXConversationSharedStorage, AXConversationSidebarComponent, AXConversationSidebarService, AXConversationStickerRendererComponent, AXConversationStickerTabComponent, AXConversationSystemRendererComponent, AXConversationTabRegistry, AXConversationTextRendererComponent, AXConversationUserApi, AXConversationVideoAttachmentComponent, AXConversationVideoFileTypeProvider, AXConversationVideoPickerComponent, AXConversationVideoRendererComponent, AXConversationVoiceFileTypeProvider, AXConversationVoiceRecorderComponent, AXConversationVoiceRendererComponent, AX_ALL_CONVERSATION_COMPOSER_TABS, AX_ALL_CONVERSATION_MEDIA_PICKERS, AX_CONVERSATION_AI_API_KEY, AX_CONVERSATION_AUDIO_CATALOG, AX_CONVERSATION_AUDIO_PRESENTATION, AX_CONVERSATION_AUDIO_RENDERER, AX_CONVERSATION_COMPOSER_AUDIO_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_TAB, AX_CONVERSATION_COMPOSER_FILE_ACTION, AX_CONVERSATION_COMPOSER_IMAGE_ACTION, AX_CONVERSATION_COMPOSER_LOCATION_ACTION, AX_CONVERSATION_COMPOSER_STICKER_TAB, AX_CONVERSATION_COMPOSER_VIDEO_ACTION, AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION, AX_CONVERSATION_CONFIG, AX_CONVERSATION_CONNECTION_ERRORS, AX_CONVERSATION_CONVERSATION_AVATAR_COMPONENT, AX_CONVERSATION_CURSOR_PREFIX, AX_CONVERSATION_DEFAULT_COMPOSER_ACTIONS, AX_CONVERSATION_DEFAULT_COMPOSER_TABS, AX_CONVERSATION_DEFAULT_CONVERSATION_ITEM_ACTIONS, AX_CONVERSATION_DEFAULT_CONVERSATION_TABS, AX_CONVERSATION_DEFAULT_INFO_BAR_ACTIONS, AX_CONVERSATION_DEFAULT_MESSAGE_ACTIONS, AX_CONVERSATION_DEFAULT_MESSAGE_RENDERERS, AX_CONVERSATION_ERRORS, AX_CONVERSATION_ERROR_HANDLER_CONFIG, AX_CONVERSATION_ERROR_MESSAGES, AX_CONVERSATION_FALLBACK_RENDERER, AX_CONVERSATION_FILE_CATALOG, AX_CONVERSATION_FILE_ERRORS, AX_CONVERSATION_FILE_PRESENTATION, AX_CONVERSATION_FILE_RENDERER, AX_CONVERSATION_FILE_TYPES_READY, AX_CONVERSATION_IMAGE_CATALOG, AX_CONVERSATION_IMAGE_PRESENTATION, AX_CONVERSATION_IMAGE_RENDERER, AX_CONVERSATION_INFO_BAR_ARCHIVE_ACTION, AX_CONVERSATION_INFO_BAR_BLOCK_ACTION, AX_CONVERSATION_INFO_BAR_DELETE_ACTION, AX_CONVERSATION_INFO_BAR_DIVIDER, AX_CONVERSATION_INFO_BAR_MUTE_ACTION, AX_CONVERSATION_INFO_BAR_SEARCH_ACTION, AX_CONVERSATION_ITEM_BLOCK_ACTION, AX_CONVERSATION_ITEM_DELETE_ACTION, AX_CONVERSATION_ITEM_DIVIDER, AX_CONVERSATION_ITEM_MARK_READ_ACTION, AX_CONVERSATION_ITEM_MUTE_ACTION, AX_CONVERSATION_ITEM_PIN_ACTION, AX_CONVERSATION_LOCATION_ERRORS, AX_CONVERSATION_LOCATION_RENDERER, AX_CONVERSATION_MESSAGE_CURSOR_PREFIX, AX_CONVERSATION_MESSAGE_DELETE_ACTION, AX_CONVERSATION_MESSAGE_EDIT_ACTION, AX_CONVERSATION_MESSAGE_ERRORS, AX_CONVERSATION_MESSAGE_FORWARD_ACTION, AX_CONVERSATION_MESSAGE_REPLY_ACTION, AX_CONVERSATION_MESSAGE_TYPE_FILE_TYPE, AX_CONVERSATION_REGISTRY_CONFIG, AX_CONVERSATION_STICKER_API_KEY, AX_CONVERSATION_STICKER_RENDERER, AX_CONVERSATION_SYSTEM_RENDERER, AX_CONVERSATION_TAB_ALL, AX_CONVERSATION_TAB_ARCHIVED, AX_CONVERSATION_TAB_BOT, AX_CONVERSATION_TAB_CHANNELS, AX_CONVERSATION_TAB_GROUPS, AX_CONVERSATION_TAB_PRIVATE, AX_CONVERSATION_TAB_UNREAD, AX_CONVERSATION_TEXT_RENDERER, AX_CONVERSATION_URL_ERRORS, AX_CONVERSATION_USER_AVATAR_COMPONENT, AX_CONVERSATION_USER_ERRORS, AX_CONVERSATION_VIDEO_CATALOG, AX_CONVERSATION_VIDEO_PRESENTATION, AX_CONVERSATION_VIDEO_RENDERER, AX_CONVERSATION_VOICE_CATALOG, AX_CONVERSATION_VOICE_PRESENTATION, AX_CONVERSATION_VOICE_RENDERER, AX_DEFAULT_CONVERSATION_CONFIG, AX_MESSAGE_PAGINATION_CONVERSATION_ID, abortPickerUploads, applyAudioLocalPreview, applyConversationFilters, applyFileLocalPreview, applyLocalPreview, applyVideoLocalPreview, applyVoiceLocalPreview, audioItemFromUpload, axConversationIndexedDbStorage, axConversationSharedStorage, bindMediaRendererContentState, buildMediaGalleryTiles, canShowRendererContentError, cleanupPickerUploads, conversationAudioUtilities, conversationFileUtilities, conversationImageUtilities, conversationVideoUtilities, conversationVoiceUtilities, copyWithFileTypeFallback, createConversationAudioFileType, createConversationFileFileType, createConversationImageFileType, createConversationVideoFileType, createConversationVoiceFileType, createLocalPreviewUrl, createObjectUrl, createPickerDragHandlers, createResolvedMediaUrlSignal, deleteUploadedPickerMedia, dismissComposerPickerHost, encodeConversationCursor, encodeMessageCursor, ensurePaginationDemoData, fetchConversationMediaMessages, fetchConversationMediaPage, fileItemFromUpload, filterMessagesByMediaCategory, filterSupplementalInfoPanelMessages, formatDuration, formatErrorMessage, formatFileByteSize, formatFileSize, formatMediaDuration, formatPickerValidationMessage, getConversationLastActivity, getConversationMediaCategories, getConversationMessagesNewestFirst, getConversationProfileFields, getErrorMessage, getMessageAudioItems, getMessageVideoItems, getPickerCancelUploadLabel, getPrivatePeerParticipant, getSortedConversationsForInbox, inferFileExtensionHintFromMessage, isAttachmentListCategory, isComposerTabEnabled, isGenericPrivateConversationTitle, isGridMediaCategory, isMediaPickerEnabled, isMessageDeliveryPending, isNonPersistableMediaUrl, isPickerItemReadyToSend, isUploadAborted, limitFilesToCapacity, mediaCopyText, mergeAudioUploadResult, mergeFileUploadResult, mergeInfoPanelMessages, mergeUploadResult, mergeVideoUploadResult, mergeVoiceUploadResult, mergeWithDefaults, messageContainsLink, normalizeAllConversationMessageIndexes, normalizeAudioPayload, normalizeFilePayload, normalizeImagePayload, normalizeMessagePayload, normalizeMessagePayloadAsync, normalizeVideoPayload, notifyMaxFilesCapacityExceeded, notifyPickerValidationErrors, openWithFileType, paginateChatNewestFirst, paginateChatOldestFirst, parseChatCursor, pickDisplayMediaUrl, pickerItemToMediaReference, pickerItemToUploadResult, provideConversation, provideConversationComposerFileTypes, provideConversationFileCatalog, registerChatMessage, reportMediaLoadError, resolveComposerMaxFiles, resolveConversationAvatarDisplay, resolveConversationComposerTabs, resolveConversationForViewer, resolveConversationMediaPickers, resolveConversationMessageFileType, resolveConversationTitleForViewer, resolveGalleryImageUrl, resolveImageDisplayUrl, resolveParticipantProfile, resolvePersistableMediaUrl, resolvePersistedThumbnailUrl, resolvePrivatePeerParticipant, resolvePrivatePeerUserId, resolveUserAvatarDisplay, resolveVideoThumbnailUrl, revokeObjectUrl, revokePickerBlobPreviews, sanitizeInput, seedPickerInitialFiles, seedSharedStorageInitialData, shouldUseUserAvatarForConversation, sortConversationMessageIds, syncPlaybackInfoBarBanner, toUploaderReference as toMediaItemUploaderReference, toUploaderReference$1 as toUploaderReference, unregisterChatMessage, uploadPickerFile, validateConversationId, validateEmail, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds, videoItemFromUpload };
6869
- export type { AXConversation, AXConversationAiResponderConfig, AXConversationApiError, AXConversationApiLogEntry, AXConversationApiName, AXConversationAudioMediaItem, AXConversationAudioPayload, AXConversationAvatarComponents, AXConversationAvatarDisplay, AXConversationAvatarKind, AXConversationBlockReportReason, AXConversationCallEvent, AXConversationChatCursorKind, AXConversationCleanupPickerUploadsOptions, AXConversationComposerAction, AXConversationComposerActionComponent, AXConversationComposerActionContext, AXConversationComposerActiveComponent, AXConversationComposerPickerUploadItem, AXConversationComposerTab, AXConversationComposerTabFeature, AXConversationConfig, AXConversationConnectionEvent, AXConversationConnectionOptions, AXConversationConnectionStatus, AXConversationConversationAvatarComponent, AXConversationCreateData, AXConversationDeleteMessageCommand, AXConversationDropdownMenuItem, AXConversationEditMessageCommand, AXConversationError, AXConversationErrorCode, AXConversationErrorHandlerConfig, AXConversationErrorMessage, AXConversationErrorSeverity, AXConversationFeatures, AXConversationFileMediaItem, AXConversationFilePayload, AXConversationFilter, AXConversationFilters, AXConversationGroupedReaction, AXConversationImageMediaItem, AXConversationImagePayload, AXConversationIndexedDbMediaRecord, AXConversationInfoBarAction, AXConversationInfoBarActionComponent, AXConversationInfoBarActionContext, AXConversationInfoBarActiveBanner, AXConversationInfoBarActiveComponent, AXConversationInfoProfileField, AXConversationItemAction, AXConversationItemActionContext, AXConversationLink, AXConversationLinkPreview, AXConversationLoadMessagesResult, AXConversationLocationPayload, AXConversationMediaCategory, AXConversationMediaCategoryId, AXConversationMediaGalleryTile, AXConversationMediaItemFields, AXConversationMediaPageResult, AXConversationMediaPickerFeature, AXConversationMention, AXConversationMessage, AXConversationMessageAction, AXConversationMessageActionContext, AXConversationMessageForwardData, AXConversationMessageInfoBarBannerComponent, AXConversationMessageListEmptyComponent, AXConversationMessagePayload, AXConversationMessageRenderer, AXConversationMessageRendererCapabilities, AXConversationMessageRendererComponent, AXConversationMessageRendererContentState, AXConversationMessageRendererState, AXConversationMessageSearchFilters, AXConversationMessageStatus, AXConversationMessageType, AXConversationMetadata, AXConversationNotificationEvent, AXConversationOptions, AXConversationPaginatedResult, AXConversationPagination, AXConversationPaginationState, AXConversationParsedChatCursor, AXConversationParticipant, AXConversationParticipantRole, AXConversationParticipantStatus, AXConversationParticipantUpdate, AXConversationPinnedMessage, AXConversationPlaybackBannerInputs, AXConversationPollOption, AXConversationPollPayload, AXConversationPresenceStatus, AXConversationPresenceUpdate, AXConversationReaction, AXConversationReadReceipt, AXConversationRegistryConfiguration, AXConversationRegistryItem, AXConversationSendMessageCommand, AXConversationSendMessageOptions, AXConversationSendMessageUploadSource, AXConversationSettings, AXConversationSettingsUpdate, AXConversationSort, AXConversationStatus, AXConversationStickerPayload, AXConversationSystemPayload, AXConversationTab, AXConversationTextFormat, AXConversationTextPayload, AXConversationType, AXConversationTypingIndicator, AXConversationUpdateData, AXConversationUploadOptions, AXConversationUploaderFilePreview, AXConversationUploaderReference, AXConversationUploaderResult, AXConversationUserAvatarComponent, AXConversationUserProfile, AXConversationUserProfileUpdate, AXConversationUserRole, AXConversationUserSearchFilters, AXConversationValidationResult, AXConversationVideoMediaItem, AXConversationVideoPayload, AXConversationVoicePayload };
6958
+ export { AXConversationAiResponderService, AXConversationApi, AXConversationApiLoggerService, AXConversationAudioAttachmentComponent, AXConversationAudioFileTypeProvider, AXConversationAudioPickerComponent, AXConversationAudioRendererComponent, AXConversationBaseRegistry, AXConversationComposerActionRegistry, AXConversationComposerComponent, AXConversationComposerFileTypesProvider, AXConversationComposerPopupComponent, AXConversationComposerService, AXConversationComposerTabRegistry, AXConversationContainerComponent, AXConversationContainerDirective, AXConversationDateUtilsService, AXConversationEmojiTabComponent, AXConversationErrorHandlerService, AXConversationFallbackRendererComponent, AXConversationFileAttachmentComponent, AXConversationFileFileTypeProvider, AXConversationFilePickerComponent, AXConversationFileRendererComponent, AXConversationForwardMessageDialogComponent, AXConversationImageAttachmentComponent, AXConversationImageFileTypeProvider, AXConversationImagePickerComponent, AXConversationImageRendererComponent, AXConversationIndexedDbConversationApi, AXConversationIndexedDbMessageAiApi, AXConversationIndexedDbMessageApi, AXConversationIndexedDbRealtimeApi, AXConversationIndexedDbStorage, AXConversationIndexedDbStores, AXConversationIndexedDbUserApi, AXConversationInfiniteScrollDirective, AXConversationInfoBarActionRegistry, AXConversationInfoBarComponent, AXConversationInfoBarSearchComponent, AXConversationInfoBarService, AXConversationInfoMediaViewComponent, AXConversationInfoPanelComponent, AXConversationItemActionRegistry, AXConversationLocationPickerComponent, AXConversationLocationRendererComponent, AXConversationMediaPlaybackInfoBarBannerComponent, AXConversationMessageActionRegistry, AXConversationMessageApi, AXConversationMessageListComponent, AXConversationMessageListNoActiveDefaultComponent, AXConversationMessageListService, AXConversationMessageRendererCopyHostComponent, AXConversationMessageRendererRegistry, AXConversationMessageRendererStateComponent, AXConversationMessageUtilsService, AXConversationModule, AXConversationNewDialogComponent, AXConversationPickerCaptionComponent, AXConversationPickerEmptyComponent, AXConversationPickerFooterComponent, AXConversationPickerHeaderComponent, AXConversationPickerShellComponent, AXConversationPickerToolbarComponent, AXConversationRealtimeApi, AXConversationRegistryService, AXConversationService, AXConversationSharedStorage, AXConversationSidebarComponent, AXConversationSidebarService, AXConversationStickerRendererComponent, AXConversationStickerTabComponent, AXConversationSystemRendererComponent, AXConversationTabRegistry, AXConversationTextRendererComponent, AXConversationUserApi, AXConversationVideoAttachmentComponent, AXConversationVideoFileTypeProvider, AXConversationVideoPickerComponent, AXConversationVideoRendererComponent, AXConversationVoiceFileTypeProvider, AXConversationVoiceRecorderComponent, AXConversationVoiceRendererComponent, AX_CONVERSATION_AI_API_KEY, AX_CONVERSATION_AUDIO_CATALOG, AX_CONVERSATION_AUDIO_PRESENTATION, AX_CONVERSATION_AUDIO_RENDERER, AX_CONVERSATION_BUILTIN_COMPOSER_TABS, AX_CONVERSATION_COMPOSER_AUDIO_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_TAB, AX_CONVERSATION_COMPOSER_FILE_ACTION, AX_CONVERSATION_COMPOSER_IMAGE_ACTION, AX_CONVERSATION_COMPOSER_LOCATION_ACTION, AX_CONVERSATION_COMPOSER_STICKER_TAB, AX_CONVERSATION_COMPOSER_VIDEO_ACTION, AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION, AX_CONVERSATION_CONFIG, AX_CONVERSATION_CONNECTION_ERRORS, AX_CONVERSATION_CONVERSATION_AVATAR_COMPONENT, AX_CONVERSATION_CURSOR_PREFIX, AX_CONVERSATION_DEFAULT_COMPOSER_ACTIONS, AX_CONVERSATION_DEFAULT_COMPOSER_TABS, AX_CONVERSATION_DEFAULT_CONVERSATION_ITEM_ACTIONS, AX_CONVERSATION_DEFAULT_CONVERSATION_TABS, AX_CONVERSATION_DEFAULT_INFO_BAR_ACTIONS, AX_CONVERSATION_DEFAULT_MESSAGE_ACTIONS, AX_CONVERSATION_DEFAULT_MESSAGE_LIST_BACKGROUND, AX_CONVERSATION_DEFAULT_MESSAGE_LIST_BACKGROUND_PRESET_ID, AX_CONVERSATION_DEFAULT_MESSAGE_LIST_THEME_BACKGROUND, AX_CONVERSATION_DEFAULT_MESSAGE_RENDERERS, AX_CONVERSATION_DEMO_CONVERSATION_IDS, AX_CONVERSATION_ERRORS, AX_CONVERSATION_ERROR_HANDLER_CONFIG, AX_CONVERSATION_ERROR_MESSAGES, AX_CONVERSATION_FALLBACK_RENDERER, AX_CONVERSATION_FILE_CATALOG, AX_CONVERSATION_FILE_ERRORS, AX_CONVERSATION_FILE_PRESENTATION, AX_CONVERSATION_FILE_RENDERER, AX_CONVERSATION_FILE_TYPES_READY, AX_CONVERSATION_IMAGE_CATALOG, AX_CONVERSATION_IMAGE_PRESENTATION, AX_CONVERSATION_IMAGE_RENDERER, AX_CONVERSATION_INFO_BAR_ARCHIVE_ACTION, AX_CONVERSATION_INFO_BAR_BLOCK_ACTION, AX_CONVERSATION_INFO_BAR_DELETE_ACTION, AX_CONVERSATION_INFO_BAR_DIVIDER, AX_CONVERSATION_INFO_BAR_MUTE_ACTION, AX_CONVERSATION_INFO_BAR_SEARCH_ACTION, AX_CONVERSATION_ITEM_BLOCK_ACTION, AX_CONVERSATION_ITEM_DELETE_ACTION, AX_CONVERSATION_ITEM_DIVIDER, AX_CONVERSATION_ITEM_MARK_READ_ACTION, AX_CONVERSATION_ITEM_MUTE_ACTION, AX_CONVERSATION_ITEM_PIN_ACTION, AX_CONVERSATION_LOCATION_ERRORS, AX_CONVERSATION_LOCATION_RENDERER, AX_CONVERSATION_MESSAGE_CURSOR_PREFIX, AX_CONVERSATION_MESSAGE_DELETE_ACTION, AX_CONVERSATION_MESSAGE_EDIT_ACTION, AX_CONVERSATION_MESSAGE_ERRORS, AX_CONVERSATION_MESSAGE_FORWARD_ACTION, AX_CONVERSATION_MESSAGE_LIST_BACKGROUND_PRESETS, AX_CONVERSATION_MESSAGE_REPLY_ACTION, AX_CONVERSATION_MESSAGE_TYPE_FILE_TYPE, AX_CONVERSATION_REGISTRY_CONFIG, AX_CONVERSATION_STICKER_API_KEY, AX_CONVERSATION_STICKER_RENDERER, AX_CONVERSATION_SYSTEM_RENDERER, AX_CONVERSATION_TAB_ALL, AX_CONVERSATION_TAB_ARCHIVED, AX_CONVERSATION_TAB_BOT, AX_CONVERSATION_TAB_CHANNELS, AX_CONVERSATION_TAB_GROUPS, AX_CONVERSATION_TAB_PRIVATE, AX_CONVERSATION_TAB_UNREAD, AX_CONVERSATION_TEXT_RENDERER, AX_CONVERSATION_URL_ERRORS, AX_CONVERSATION_USER_AVATAR_COMPONENT, AX_CONVERSATION_USER_ERRORS, AX_CONVERSATION_VIDEO_CATALOG, AX_CONVERSATION_VIDEO_PRESENTATION, AX_CONVERSATION_VIDEO_RENDERER, AX_CONVERSATION_VOICE_CATALOG, AX_CONVERSATION_VOICE_PRESENTATION, AX_CONVERSATION_VOICE_RENDERER, AX_DEFAULT_CONVERSATION_CONFIG, AX_MESSAGE_PAGINATION_CONVERSATION_ID, abortPickerUploads, applyAudioLocalPreview, applyConversationFilters, applyFileLocalPreview, applyLocalPreview, applyVideoLocalPreview, applyVoiceLocalPreview, audioItemFromUpload, axConversationIndexedDbStorage, axConversationSharedStorage, bindMediaRendererContentState, buildMediaGalleryTiles, canShowRendererContentError, cleanupPickerUploads, conversationAudioUtilities, conversationFileUtilities, conversationImageUtilities, conversationVideoUtilities, conversationVoiceUtilities, copyWithFileTypeFallback, createConversationAudioFileType, createConversationFileFileType, createConversationImageFileType, createConversationVideoFileType, createConversationVoiceFileType, createLocalPreviewUrl, createObjectUrl, createPickerDragHandlers, createResolvedMediaUrlSignal, deleteUploadedPickerMedia, dismissComposerPickerHost, encodeConversationCursor, encodeMessageCursor, ensurePaginationDemoData, fetchConversationMediaMessages, fetchConversationMediaPage, fileItemFromUpload, filterMessagesByMediaCategory, filterSupplementalInfoPanelMessages, findExistingPrivateConversation, formatDuration, formatErrorMessage, formatFileByteSize, formatFileSize, formatMediaDuration, formatPickerValidationMessage, getConversationLastActivity, getConversationMediaCategories, getConversationMessagesNewestFirst, getConversationProfileFields, getErrorMessage, getMessageAudioItems, getMessageVideoItems, getPickerCancelUploadLabel, getPrivatePeerParticipant, getSortedConversationsForInbox, inferFileExtensionHintFromMessage, isAttachmentListCategory, isComposerTabEnabled, isConversationReactionsEnabled, isGenericPrivateConversationTitle, isGridMediaCategory, isMessageDeliveryPending, isMessageListThemeBackground, isNonPersistableMediaUrl, isPickerItemReadyToSend, isSameMessageListBackground, isUploadAborted, limitFilesToCapacity, mediaCopyText, mergeAudioUploadResult, mergeFileUploadResult, mergeInfoPanelMessages, mergeUploadResult, mergeVideoUploadResult, mergeVoiceUploadResult, mergeWithDefaults, messageContainsLink, normalizeAllConversationMessageIndexes, normalizeAudioPayload, normalizeFilePayload, normalizeImagePayload, normalizeMessageListBackgroundValue, normalizeMessagePayload, normalizeMessagePayloadAsync, normalizeVideoPayload, notifyMaxFilesCapacityExceeded, notifyPickerValidationErrors, openWithFileType, paginateChatNewestFirst, paginateChatOldestFirst, parseChatCursor, pickDisplayMediaUrl, pickerItemToMediaReference, pickerItemToUploadResult, provideConversation, provideConversationComposerFileTypes, provideConversationFileCatalog, registerChatMessage, reportMediaLoadError, resolveComposerMaxFiles, resolveConversationAvatarDisplay, resolveConversationComposerTabs, resolveConversationForViewer, resolveConversationMessageFileType, resolveConversationTitleForViewer, resolveGalleryImageUrl, resolveImageDisplayUrl, resolveMessageListBackgroundRaw, resolveMessageListBackgroundStyle, resolveParticipantProfile, resolvePersistableMediaUrl, resolvePersistedThumbnailUrl, resolvePrivatePeerParticipant, resolvePrivatePeerUserId, resolveUserAvatarDisplay, resolveVideoThumbnailUrl, revokeObjectUrl, revokePickerBlobPreviews, sanitizeInput, seedPickerInitialFiles, seedSharedStorageInitialData, shouldUseUserAvatarForConversation, sortConversationMessageIds, syncPlaybackInfoBarBanner, toUploaderReference as toMediaItemUploaderReference, toUploaderReference$1 as toUploaderReference, unregisterChatMessage, uploadPickerFile, validateConversationId, validateEmail, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds, videoItemFromUpload };
6959
+ export type { AXConversation, AXConversationAiResponderConfig, AXConversationApiError, AXConversationApiLogEntry, AXConversationApiName, AXConversationAudioMediaItem, AXConversationAudioPayload, AXConversationAvatarComponents, AXConversationAvatarDisplay, AXConversationAvatarKind, AXConversationBlockReportReason, AXConversationCallEvent, AXConversationChatCursorKind, AXConversationCleanupPickerUploadsOptions, AXConversationComposerAction, AXConversationComposerActionComponent, AXConversationComposerActionContext, AXConversationComposerActiveComponent, AXConversationComposerPickerUploadItem, AXConversationComposerTab, AXConversationComposerTabFeature, AXConversationConfig, AXConversationConnectionEvent, AXConversationConnectionOptions, AXConversationConnectionStatus, AXConversationConversationAvatarComponent, AXConversationCreateData, AXConversationDeleteMessageCommand, AXConversationDropdownMenuItem, AXConversationEditMessageCommand, AXConversationError, AXConversationErrorCode, AXConversationErrorHandlerConfig, AXConversationErrorMessage, AXConversationErrorSeverity, AXConversationFeatures, AXConversationFileMediaItem, AXConversationFilePayload, AXConversationFilter, AXConversationFilters, AXConversationGroupedReaction, AXConversationImageMediaItem, AXConversationImagePayload, AXConversationIndexedDbMediaRecord, AXConversationInfoBarAction, AXConversationInfoBarActionComponent, AXConversationInfoBarActionContext, AXConversationInfoBarActiveBanner, AXConversationInfoBarActiveComponent, AXConversationInfoProfileField, AXConversationItemAction, AXConversationItemActionContext, AXConversationLink, AXConversationLinkPreview, AXConversationLoadMessagesResult, AXConversationLocationPayload, AXConversationMediaCategory, AXConversationMediaCategoryId, AXConversationMediaGalleryTile, AXConversationMediaItemFields, AXConversationMediaPageResult, AXConversationMention, AXConversationMessage, AXConversationMessageAction, AXConversationMessageActionContext, AXConversationMessageForwardData, AXConversationMessageInfoBarBannerComponent, AXConversationMessageListBackground, AXConversationMessageListBackgroundPreset, AXConversationMessageListEmptyComponent, AXConversationMessageListThemeBackground, AXConversationMessagePayload, AXConversationMessageRenderer, AXConversationMessageRendererCapabilities, AXConversationMessageRendererComponent, AXConversationMessageRendererContentState, AXConversationMessageRendererState, AXConversationMessageSearchFilters, AXConversationMessageStatus, AXConversationMessageType, AXConversationMetadata, AXConversationNotificationEvent, AXConversationOptions, AXConversationPaginatedResult, AXConversationPagination, AXConversationPaginationState, AXConversationParsedChatCursor, AXConversationParticipant, AXConversationParticipantRole, AXConversationParticipantStatus, AXConversationParticipantUpdate, AXConversationPinnedMessage, AXConversationPlaybackBannerInputs, AXConversationPollOption, AXConversationPollPayload, AXConversationPresenceStatus, AXConversationPresenceUpdate, AXConversationReaction, AXConversationReadReceipt, AXConversationRegistryConfiguration, AXConversationRegistryItem, AXConversationSendMessageCommand, AXConversationSendMessageOptions, AXConversationSendMessageUploadSource, AXConversationSettings, AXConversationSettingsUpdate, AXConversationSort, AXConversationStatus, AXConversationStickerPayload, AXConversationSystemPayload, AXConversationTab, AXConversationTextFormat, AXConversationTextPayload, AXConversationType, AXConversationTypingIndicator, AXConversationUpdateData, AXConversationUploadOptions, AXConversationUploaderFilePreview, AXConversationUploaderReference, AXConversationUploaderResult, AXConversationUserAvatarComponent, AXConversationUserProfile, AXConversationUserProfileUpdate, AXConversationUserRole, AXConversationUserSearchFilters, AXConversationValidationResult, AXConversationVideoMediaItem, AXConversationVideoPayload, AXConversationVoicePayload };