stream-chat-angular 3.0.0-beta.5 → 3.0.0-beta.8

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 (45) hide show
  1. package/assets/version.d.ts +1 -1
  2. package/bundles/stream-chat-angular.umd.js +112 -130
  3. package/bundles/stream-chat-angular.umd.js.map +1 -1
  4. package/esm2015/assets/version.js +2 -2
  5. package/esm2015/lib/attachment-list/attachment-list.component.js +1 -1
  6. package/esm2015/lib/channel-header/channel-header.component.js +1 -1
  7. package/esm2015/lib/channel-list/channel-list.component.js +1 -1
  8. package/esm2015/lib/channel-preview/channel-preview.component.js +1 -1
  9. package/esm2015/lib/channel.service.js +11 -18
  10. package/esm2015/lib/chat-client.service.js +4 -3
  11. package/esm2015/lib/message/message.component.js +1 -1
  12. package/esm2015/lib/message-actions-box/message-actions-box.component.js +11 -24
  13. package/esm2015/lib/message-input/message-input.component.js +15 -2
  14. package/esm2015/lib/message-list/message-list.component.js +1 -1
  15. package/esm2015/lib/message-preview.js +4 -17
  16. package/esm2015/lib/message-reactions/message-reactions.component.js +1 -1
  17. package/esm2015/lib/read-by.js +1 -1
  18. package/esm2015/lib/types.js +1 -1
  19. package/fesm2015/stream-chat-angular.js +111 -130
  20. package/fesm2015/stream-chat-angular.js.map +1 -1
  21. package/lib/attachment-list/attachment-list.component.d.ts +6 -6
  22. package/lib/attachment.service.d.ts +1 -1
  23. package/lib/channel-header/channel-header.component.d.ts +3 -3
  24. package/lib/channel-list/channel-list.component.d.ts +4 -4
  25. package/lib/channel-preview/channel-preview.component.d.ts +3 -2
  26. package/lib/channel.service.d.ts +31 -29
  27. package/lib/chat-client.service.d.ts +11 -10
  28. package/lib/custom-templates.service.d.ts +2 -2
  29. package/lib/message/message.component.d.ts +22 -3
  30. package/lib/message-actions-box/message-actions-box.component.d.ts +4 -3
  31. package/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.d.ts +1 -1
  32. package/lib/message-input/message-input.component.d.ts +27 -3
  33. package/lib/message-input/textarea.directive.d.ts +1 -1
  34. package/lib/message-list/group-styles.d.ts +1 -1
  35. package/lib/message-preview.d.ts +2 -1
  36. package/lib/message-reactions/message-reactions.component.d.ts +4 -4
  37. package/lib/read-by.d.ts +2 -1
  38. package/lib/types.d.ts +27 -19
  39. package/package.json +2 -2
  40. package/src/assets/styles/css/index.css +1 -1
  41. package/src/assets/styles/css/index.css.map +1 -1
  42. package/src/assets/styles/scss/Avatar.scss +1 -1
  43. package/src/assets/styles/scss/ChannelHeader.scss +2 -0
  44. package/src/assets/styles/scss/VirtualMessage.scss +5 -0
  45. package/src/assets/version.ts +1 -1
@@ -1,7 +1,7 @@
1
1
  import { OnChanges } from '@angular/core';
2
2
  import { Action, Attachment } from 'stream-chat';
3
3
  import { ImageLoadService } from '../message-list/image-load.service';
4
- import { DefaultAttachmentType, ModalContext } from '../types';
4
+ import { ModalContext, DefaultStreamChatGenerics } from '../types';
5
5
  import { ChannelService } from '../channel.service';
6
6
  import { CustomTemplatesService } from '../custom-templates.service';
7
7
  import * as i0 from "@angular/core";
@@ -19,9 +19,9 @@ export declare class AttachmentListComponent implements OnChanges {
19
19
  /**
20
20
  * The attachments to display
21
21
  */
22
- attachments: Attachment<DefaultAttachmentType>[];
23
- orderedAttachments: Attachment<DefaultAttachmentType>[];
24
- imagesToView: Attachment<DefaultAttachmentType>[];
22
+ attachments: Attachment<DefaultStreamChatGenerics>[];
23
+ orderedAttachments: Attachment<DefaultStreamChatGenerics>[];
24
+ imagesToView: Attachment<DefaultStreamChatGenerics>[];
25
25
  imagesToViewCurrentIndex: number;
26
26
  private modalContent;
27
27
  constructor(customTemplatesService: CustomTemplatesService, imageLoadService: ImageLoadService, channelService: ChannelService);
@@ -32,8 +32,8 @@ export declare class AttachmentListComponent implements OnChanges {
32
32
  isGallery(attachment: Attachment): boolean;
33
33
  isCard(attachment: Attachment): boolean;
34
34
  imageLoaded(): void;
35
- hasFileSize(attachment: Attachment<DefaultAttachmentType>): boolean | "" | 0 | undefined;
36
- getFileSize(attachment: Attachment<DefaultAttachmentType>): string;
35
+ hasFileSize(attachment: Attachment<DefaultStreamChatGenerics>): boolean | "" | 0 | undefined;
36
+ getFileSize(attachment: Attachment<DefaultStreamChatGenerics>): string;
37
37
  getModalContext(): ModalContext;
38
38
  trimUrl(url?: string | null): string | null;
39
39
  sendAction(action: Action): void;
@@ -46,7 +46,7 @@ export declare class AttachmentService {
46
46
  * Maps the current uploads to a format that can be sent along with the message to the Stream API.
47
47
  * @returns the attachments
48
48
  */
49
- mapToAttachments(): Attachment<import("stream-chat").UR>[];
49
+ mapToAttachments(): Attachment<import("stream-chat").DefaultGenerics>[];
50
50
  /**
51
51
  * Maps attachments received from the Stream API to uploads. This is useful when editing a message.
52
52
  * @param attachments Attachemnts received with the message
@@ -3,7 +3,7 @@ import { Channel } from 'stream-chat';
3
3
  import { ChannelListToggleService } from '../channel-list/channel-list-toggle.service';
4
4
  import { ChannelService } from '../channel.service';
5
5
  import { CustomTemplatesService } from '../custom-templates.service';
6
- import { ChannelActionsContext } from '../types';
6
+ import { ChannelActionsContext, DefaultStreamChatGenerics } from '../types';
7
7
  import * as i0 from "@angular/core";
8
8
  /**
9
9
  * The `ChannelHeader` component displays the avatar and name of the currently active channel along with member and watcher information. You can read about [the difference between members and watchers](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript#watchers-vs-members) in the platform documentation. Please note that number of watchers is only displayed if the user has [`connect-events` capability](https://getstream.io/chat/docs/javascript/channel_capabilities/?language=javascript)
@@ -14,7 +14,7 @@ export declare class ChannelHeaderComponent implements OnInit, OnDestroy {
14
14
  private customTemplatesService;
15
15
  private cdRef;
16
16
  channelActionsTemplate?: TemplateRef<ChannelActionsContext>;
17
- activeChannel: Channel | undefined;
17
+ activeChannel: Channel<DefaultStreamChatGenerics> | undefined;
18
18
  canReceiveConnectEvents: boolean | undefined;
19
19
  private subscriptions;
20
20
  constructor(channelService: ChannelService, channelListToggleService: ChannelListToggleService, customTemplatesService: CustomTemplatesService, cdRef: ChangeDetectorRef);
@@ -23,7 +23,7 @@ export declare class ChannelHeaderComponent implements OnInit, OnDestroy {
23
23
  toggleMenu(event: Event): void;
24
24
  getChannelActionsContext(): ChannelActionsContext;
25
25
  get memberCountParam(): {
26
- memberCount: unknown;
26
+ memberCount: number;
27
27
  };
28
28
  get watcherCountParam(): {
29
29
  watcherCount: number;
@@ -3,7 +3,7 @@ import { Observable, Subscription } from 'rxjs';
3
3
  import { Channel } from 'stream-chat';
4
4
  import { ChannelService } from '../channel.service';
5
5
  import { CustomTemplatesService } from '../custom-templates.service';
6
- import { ChannelPreviewContext } from '../types';
6
+ import { ChannelPreviewContext, DefaultStreamChatGenerics } from '../types';
7
7
  import { ChannelListToggleService } from './channel-list-toggle.service';
8
8
  import * as i0 from "@angular/core";
9
9
  /**
@@ -13,7 +13,7 @@ export declare class ChannelListComponent implements AfterViewInit, OnDestroy {
13
13
  private channelService;
14
14
  private channelListToggleService;
15
15
  private customTemplatesService;
16
- channels$: Observable<Channel[] | undefined>;
16
+ channels$: Observable<Channel<DefaultStreamChatGenerics>[] | undefined>;
17
17
  isError$: Observable<boolean>;
18
18
  isInitializing$: Observable<boolean>;
19
19
  isLoadingMoreChannels: boolean;
@@ -26,9 +26,9 @@ export declare class ChannelListComponent implements AfterViewInit, OnDestroy {
26
26
  ngAfterViewInit(): void;
27
27
  ngOnDestroy(): void;
28
28
  loadMoreChannels(): Promise<void>;
29
- trackByChannelId(index: number, item: Channel): string;
29
+ trackByChannelId(index: number, item: Channel<DefaultStreamChatGenerics>): string;
30
30
  channelSelected(): void;
31
- getChannelPreviewContext(channel: Channel): ChannelPreviewContext;
31
+ getChannelPreviewContext(channel: Channel<DefaultStreamChatGenerics>): ChannelPreviewContext<DefaultStreamChatGenerics>;
32
32
  static ɵfac: i0.ɵɵFactoryDeclaration<ChannelListComponent, never>;
33
33
  static ɵcmp: i0.ɵɵComponentDeclaration<ChannelListComponent, "stream-channel-list", never, {}, {}, never, never>;
34
34
  }
@@ -1,6 +1,7 @@
1
1
  import { NgZone, OnDestroy, OnInit } from '@angular/core';
2
2
  import { Channel } from 'stream-chat';
3
3
  import { ChannelService } from '../channel.service';
4
+ import { DefaultStreamChatGenerics } from '../types';
4
5
  import * as i0 from "@angular/core";
5
6
  /**
6
7
  * The `ChannelPreview` component displays a channel preview in the channel list, it consists of the image, name and latest message of the channel.
@@ -11,7 +12,7 @@ export declare class ChannelPreviewComponent implements OnInit, OnDestroy {
11
12
  /**
12
13
  * The channel to be displayed
13
14
  */
14
- channel: Channel | undefined;
15
+ channel: Channel<DefaultStreamChatGenerics> | undefined;
15
16
  isActive: boolean;
16
17
  isUnread: boolean;
17
18
  latestMessage: string;
@@ -20,7 +21,7 @@ export declare class ChannelPreviewComponent implements OnInit, OnDestroy {
20
21
  constructor(channelService: ChannelService, ngZone: NgZone);
21
22
  ngOnInit(): void;
22
23
  ngOnDestroy(): void;
23
- get avatarImage(): unknown;
24
+ get avatarImage(): string | undefined;
24
25
  get avatarName(): string | undefined;
25
26
  get title(): string | undefined;
26
27
  setAsActiveChannel(): void;
@@ -2,12 +2,12 @@ import { NgZone } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
3
  import { Attachment, Channel, ChannelFilters, ChannelOptions, ChannelResponse, ChannelSort, Event, UserResponse } from 'stream-chat';
4
4
  import { ChatClientService, ClientEvent } from './chat-client.service';
5
- import { AttachmentUpload, MessageReactionType, StreamMessage } from './types';
5
+ import { AttachmentUpload, DefaultStreamChatGenerics, MessageReactionType, StreamMessage } from './types';
6
6
  import * as i0 from "@angular/core";
7
7
  /**
8
8
  * The `ChannelService` provides data and interaction for the channel list and message list. TEST
9
9
  */
10
- export declare class ChannelService {
10
+ export declare class ChannelService<T extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> {
11
11
  private chatClientService;
12
12
  private ngZone;
13
13
  /**
@@ -39,7 +39,7 @@ export declare class ChannelService {
39
39
  *
40
40
  * Our platform documentation covers the topic of [channel events](https://getstream.io/chat/docs/javascript/event_object/?language=javascript#events) in depth.
41
41
  */
42
- channels$: Observable<Channel[] | undefined>;
42
+ channels$: Observable<Channel<T>[] | undefined>;
43
43
  /**
44
44
  * Emits the currently active channel.
45
45
  *
@@ -47,11 +47,11 @@ export declare class ChannelService {
47
47
  * If you want to subscribe to channel events, you need to manually reenter Angular's change detection zone, our [Change detection guide](../concepts/change-detection.mdx) explains this in detail.
48
48
  * :::
49
49
  */
50
- activeChannel$: Observable<Channel | undefined>;
50
+ activeChannel$: Observable<Channel<T> | undefined>;
51
51
  /**
52
52
  * Emits the list of currently loaded messages of the active channel.
53
53
  */
54
- activeChannelMessages$: Observable<StreamMessage[]>;
54
+ activeChannelMessages$: Observable<StreamMessage<T>[]>;
55
55
  /**
56
56
  * Emits the id of the currently selected parent message. If no message is selected, it emits undefined.
57
57
  */
@@ -59,23 +59,23 @@ export declare class ChannelService {
59
59
  /**
60
60
  * Emits the list of currently loaded thread replies belonging to the selected parent message. If there is no currently active thread it emits an empty array.
61
61
  */
62
- activeThreadMessages$: Observable<StreamMessage[]>;
62
+ activeThreadMessages$: Observable<StreamMessage<T>[]>;
63
63
  /**
64
64
  * Emits the currently selected parent message. If no message is selected, it emits undefined.
65
65
  */
66
- activeParentMessage$: Observable<StreamMessage | undefined>;
66
+ activeParentMessage$: Observable<StreamMessage<T> | undefined>;
67
67
  /**
68
68
  * Emits the currently selected message to quote
69
69
  */
70
- messageToQuote$: Observable<StreamMessage | undefined>;
70
+ messageToQuote$: Observable<StreamMessage<T> | undefined>;
71
71
  /**
72
72
  * Emits the list of users that are currently typing in the channel (current user is not included)
73
73
  */
74
- usersTypingInChannel$: Observable<UserResponse[]>;
74
+ usersTypingInChannel$: Observable<UserResponse<T>[]>;
75
75
  /**
76
76
  * Emits the list of users that are currently typing in the active thread (current user is not included)
77
77
  */
78
- usersTypingInThread$: Observable<UserResponse[]>;
78
+ usersTypingInThread$: Observable<UserResponse<T>[]>;
79
79
  /**
80
80
  * Emits a map that contains the date of the latest message sent by the current user by channels (this is used to detect if slow mode countdown should be started)
81
81
  */
@@ -85,39 +85,39 @@ export declare class ChannelService {
85
85
  /**
86
86
  * Custom event handler to call if a new message received from a channel that is not being watched, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels)
87
87
  */
88
- customNewMessageNotificationHandler?: (clientEvent: ClientEvent, channelListSetter: (channels: (Channel | ChannelResponse)[]) => void) => void;
88
+ customNewMessageNotificationHandler?: (clientEvent: ClientEvent, channelListSetter: (channels: (Channel<T> | ChannelResponse<T>)[]) => void) => void;
89
89
  /**
90
90
  * Custom event handler to call when the user is added to a channel, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels)
91
91
  */
92
- customAddedToChannelNotificationHandler?: (clientEvent: ClientEvent, channelListSetter: (channels: (Channel | ChannelResponse)[]) => void) => void;
92
+ customAddedToChannelNotificationHandler?: (clientEvent: ClientEvent, channelListSetter: (channels: (Channel<T> | ChannelResponse<T>)[]) => void) => void;
93
93
  /**
94
94
  * Custom event handler to call when the user is removed from a channel, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels)
95
95
  */
96
- customRemovedFromChannelNotificationHandler?: (clientEvent: ClientEvent, channelListSetter: (channels: (Channel | ChannelResponse)[]) => void) => void;
96
+ customRemovedFromChannelNotificationHandler?: (clientEvent: ClientEvent, channelListSetter: (channels: (Channel<T> | ChannelResponse<T>)[]) => void) => void;
97
97
  /**
98
98
  * Custom event handler to call when a channel is deleted, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels)
99
99
  */
100
- customChannelDeletedHandler?: (event: Event, channel: Channel, channelListSetter: (channels: (Channel | ChannelResponse)[]) => void, messageListSetter: (messages: StreamMessage[]) => void, threadListSetter: (messages: StreamMessage[]) => void, parentMessageSetter: (message: StreamMessage | undefined) => void) => void;
100
+ customChannelDeletedHandler?: (event: Event, channel: Channel<T>, channelListSetter: (channels: (Channel<T> | ChannelResponse<T>)[]) => void, messageListSetter: (messages: StreamMessage<T>[]) => void, threadListSetter: (messages: StreamMessage<T>[]) => void, parentMessageSetter: (message: StreamMessage<T> | undefined) => void) => void;
101
101
  /**
102
102
  * Custom event handler to call when a channel is updated, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels)
103
103
  */
104
- customChannelUpdatedHandler?: (event: Event, channel: Channel, channelListSetter: (channels: (Channel | ChannelResponse)[]) => void, messageListSetter: (messages: StreamMessage[]) => void, threadListSetter: (messages: StreamMessage[]) => void, parentMessageSetter: (message: StreamMessage | undefined) => void) => void;
104
+ customChannelUpdatedHandler?: (event: Event, channel: Channel<T>, channelListSetter: (channels: (Channel<T> | ChannelResponse<T>)[]) => void, messageListSetter: (messages: StreamMessage[]) => void, threadListSetter: (messages: StreamMessage[]) => void, parentMessageSetter: (message: StreamMessage | undefined) => void) => void;
105
105
  /**
106
106
  * Custom event handler to call when a channel is truncated, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels)
107
107
  */
108
- customChannelTruncatedHandler?: (event: Event, channel: Channel, channelListSetter: (channels: (Channel | ChannelResponse)[]) => void, messageListSetter: (messages: StreamMessage[]) => void, threadListSetter: (messages: StreamMessage[]) => void, parentMessageSetter: (message: StreamMessage | undefined) => void) => void;
108
+ customChannelTruncatedHandler?: (event: Event, channel: Channel<T>, channelListSetter: (channels: (Channel<T> | ChannelResponse<T>)[]) => void, messageListSetter: (messages: StreamMessage<T>[]) => void, threadListSetter: (messages: StreamMessage<T>[]) => void, parentMessageSetter: (message: StreamMessage<T> | undefined) => void) => void;
109
109
  /**
110
110
  * Custom event handler to call when a channel becomes hidden, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels)
111
111
  */
112
- customChannelHiddenHandler?: (event: Event, channel: Channel, channelListSetter: (channels: (Channel | ChannelResponse)[]) => void, messageListSetter: (messages: StreamMessage[]) => void, threadListSetter: (messages: StreamMessage[]) => void, parentMessageSetter: (message: StreamMessage | undefined) => void) => void;
112
+ customChannelHiddenHandler?: (event: Event, channel: Channel<T>, channelListSetter: (channels: (Channel<T> | ChannelResponse<T>)[]) => void, messageListSetter: (messages: StreamMessage<T>[]) => void, threadListSetter: (messages: StreamMessage<T>[]) => void, parentMessageSetter: (message: StreamMessage<T> | undefined) => void) => void;
113
113
  /**
114
114
  * Custom event handler to call when a channel becomes visible, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels)
115
115
  */
116
- customChannelVisibleHandler?: (event: Event, channel: Channel, channelListSetter: (channels: (Channel | ChannelResponse)[]) => void, messageListSetter: (messages: StreamMessage[]) => void, threadListSetter: (messages: StreamMessage[]) => void, parentMessageSetter: (message: StreamMessage | undefined) => void) => void;
116
+ customChannelVisibleHandler?: (event: Event, channel: Channel<T>, channelListSetter: (channels: (Channel<T> | ChannelResponse<T>)[]) => void, messageListSetter: (messages: StreamMessage<T>[]) => void, threadListSetter: (messages: StreamMessage<T>[]) => void, parentMessageSetter: (message: StreamMessage<T> | undefined) => void) => void;
117
117
  /**
118
118
  * Custom event handler to call if a new message received from a channel that is being watched, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels)
119
119
  */
120
- customNewMessageHandler?: (event: Event, channel: Channel, channelListSetter: (channels: (Channel | ChannelResponse)[]) => void, messageListSetter: (messages: StreamMessage[]) => void, threadListSetter: (messages: StreamMessage[]) => void, parentMessageSetter: (message: StreamMessage | undefined) => void) => void;
120
+ customNewMessageHandler?: (event: Event, channel: Channel<T>, channelListSetter: (channels: (Channel<T> | ChannelResponse<T>)[]) => void, messageListSetter: (messages: StreamMessage<T>[]) => void, threadListSetter: (messages: StreamMessage<T>[]) => void, parentMessageSetter: (message: StreamMessage<T> | undefined) => void) => void;
121
121
  private channelsSubject;
122
122
  private activeChannelSubject;
123
123
  private activeChannelMessagesSubject;
@@ -137,17 +137,17 @@ export declare class ChannelService {
137
137
  private messageListSetter;
138
138
  private threadListSetter;
139
139
  private parentMessageSetter;
140
- constructor(chatClientService: ChatClientService, ngZone: NgZone);
140
+ constructor(chatClientService: ChatClientService<T>, ngZone: NgZone);
141
141
  /**
142
142
  * Sets the given `channel` as active.
143
143
  * @param channel
144
144
  */
145
- setAsActiveChannel(channel: Channel): void;
145
+ setAsActiveChannel(channel: Channel<T>): void;
146
146
  /**
147
147
  * Sets the given `message` as an active parent message. If `undefined` is provided, it will deleselect the current parent message.
148
148
  * @param message
149
149
  */
150
- setAsActiveParentMessage(message: StreamMessage | undefined): Promise<void>;
150
+ setAsActiveParentMessage(message: StreamMessage<T> | undefined): Promise<void>;
151
151
  /**
152
152
  * Loads the next page of messages of the active channel. The page size can be set in the [query option](https://getstream.io/chat/docs/javascript/query_channels/?language=javascript#query-options) object.
153
153
  */
@@ -162,7 +162,7 @@ export declare class ChannelService {
162
162
  * @param sort
163
163
  * @param options
164
164
  */
165
- init(filters: ChannelFilters, sort?: ChannelSort, options?: ChannelOptions): Promise<void>;
165
+ init(filters: ChannelFilters<T>, sort?: ChannelSort<T>, options?: ChannelOptions): Promise<void>;
166
166
  /**
167
167
  * Resets the `activeChannel$`, `channels$` and `activeChannelMessages$` Observables. Useful when disconnecting a chat user, use in combination with [`disconnectUser`](./ChatClientService.mdx/#disconnectuser).
168
168
  */
@@ -175,8 +175,9 @@ export declare class ChannelService {
175
175
  * Adds a reaction to a message.
176
176
  * @param messageId The id of the message to add the reaction to
177
177
  * @param reactionType The type of the reaction
178
+ * @param customData
178
179
  */
179
- addReaction(messageId: string, reactionType: MessageReactionType): Promise<void>;
180
+ addReaction(messageId: string, reactionType: MessageReactionType, customData?: T['reactionType']): Promise<void>;
180
181
  /**
181
182
  * Removes a reaction from a message.
182
183
  * @param messageId The id of the message to remove the reaction from
@@ -190,8 +191,9 @@ export declare class ChannelService {
190
191
  * @param mentionedUsers Mentioned users
191
192
  * @param parentId Id of the parent message (if sending a thread reply)
192
193
  * @param quotedMessageId Id of the message to quote (if sending a quote reply)
194
+ * @param customData
193
195
  */
194
- sendMessage(text: string, attachments?: Attachment[], mentionedUsers?: UserResponse[], parentId?: string | undefined, quotedMessageId?: string | undefined): Promise<void>;
196
+ sendMessage(text: string, attachments?: Attachment<T>[], mentionedUsers?: UserResponse<T>[], parentId?: string | undefined, quotedMessageId?: string | undefined, customData?: undefined | Partial<T['messageType']>): Promise<void>;
195
197
  /**
196
198
  * Resends the given message to the active channel
197
199
  * @param message The message to resend
@@ -201,7 +203,7 @@ export declare class ChannelService {
201
203
  * Updates the message in the active channel
202
204
  * @param message Mesage to be updated
203
205
  */
204
- updateMessage(message: StreamMessage): Promise<void>;
206
+ updateMessage(message: StreamMessage<T>): Promise<void>;
205
207
  /**
206
208
  * Deletes the message from the active channel
207
209
  * @param message Message to be deleted
@@ -223,7 +225,7 @@ export declare class ChannelService {
223
225
  * @param searchTerm Text to search for in the names of members
224
226
  * @returns The list of members matching the search filter
225
227
  */
226
- autocompleteMembers(searchTerm: string): Promise<import("stream-chat").ChannelMemberResponse<import("stream-chat").UR>[]>;
228
+ autocompleteMembers(searchTerm: string): Promise<import("stream-chat").ChannelMemberResponse<T>[]>;
227
229
  /**
228
230
  * [Runs a message action](https://getstream.io/chat/docs/rest/#messages-runmessageaction) in the current channel. Updates the message list based on the action result (if no message is returned, the message will be removed from the message list).
229
231
  * @param messageId
@@ -273,6 +275,6 @@ export declare class ChannelService {
273
275
  private handleTypingStartEvent;
274
276
  private handleTypingStopEvent;
275
277
  private updateLatestMessages;
276
- static ɵfac: i0.ɵɵFactoryDeclaration<ChannelService, never>;
277
- static ɵprov: i0.ɵɵInjectableDeclaration<ChannelService>;
278
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChannelService<any>, never>;
279
+ static ɵprov: i0.ɵɵInjectableDeclaration<ChannelService<any>>;
278
280
  }
@@ -3,28 +3,29 @@ import { Observable } from 'rxjs';
3
3
  import { Channel, ChannelResponse, OwnUserResponse, UserResponse } from 'stream-chat';
4
4
  import { AppSettings, Event, StreamChat, TokenOrProvider } from 'stream-chat';
5
5
  import { NotificationService } from './notification.service';
6
+ import { DefaultStreamChatGenerics } from './types';
6
7
  import * as i0 from "@angular/core";
7
- export declare type ClientEvent = {
8
+ export declare type ClientEvent<T extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
8
9
  eventType: string;
9
- event: Event;
10
+ event: Event<T>;
10
11
  };
11
12
  /**
12
13
  * The `ChatClient` service connects the user to the Stream chat.
13
14
  */
14
- export declare class ChatClientService {
15
+ export declare class ChatClientService<T extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> {
15
16
  private ngZone;
16
17
  private notificationService;
17
18
  /**
18
19
  * The [StreamChat client](https://github.com/GetStream/stream-chat-js/blob/master/src/client.ts) instance. In general you shouldn't need to access the client, but it's there if you want to use it.
19
20
  */
20
- chatClient: StreamChat;
21
+ chatClient: StreamChat<T>;
21
22
  /**
22
23
  * Emits [`ClientEvent`](https://github.com/GetStream/stream-chat-angular/blob/master/projects/stream-chat-angular/src/lib/chat-client.service.ts) events. The platform documentation covers [the list of client, user presence and notification events](https://getstream.io/chat/docs/javascript/event_object/?language=javascript).
23
24
  * :::important
24
25
  * For performance reasons this Observable operates outside of the Angular change detection zone. If you subscribe to it, you need to manually reenter Angular's change detection zone, our [Change detection guide](../concepts/change-detection.mdx) explains this in detail.
25
26
  * :::
26
27
  */
27
- events$: Observable<ClientEvent>;
28
+ events$: Observable<ClientEvent<T>>;
28
29
  /**
29
30
  * Emits the current [application settings](https://getstream.io/chat/docs/javascript/app_setting_overview/?language=javascript). Since getting the application settings is an expensive API call and we don't always need the result, this is not initialized by default, you need to call `getApplicationSettings` to load them.
30
31
  */
@@ -36,7 +37,7 @@ export declare class ChatClientService {
36
37
  /**
37
38
  * Emits the list of pending invites of the user. It emits every pending invitation during initialization and then extends the list when a new invite is received. More information can be found in the [channel invitations](../code-examples/channel-invites.mdx) guide.
38
39
  */
39
- pendingInvites$: Observable<(ChannelResponse | Channel)[]>;
40
+ pendingInvites$: Observable<(ChannelResponse<T> | Channel<T>)[]>;
40
41
  private notificationSubject;
41
42
  private connectionStateSubject;
42
43
  private appSettingsSubject;
@@ -48,7 +49,7 @@ export declare class ChatClientService {
48
49
  * @param userOrId
49
50
  * @param userTokenOrProvider
50
51
  */
51
- init(apiKey: string, userOrId: string | OwnUserResponse | UserResponse, userTokenOrProvider: TokenOrProvider): Promise<void>;
52
+ init(apiKey: string, userOrId: string | OwnUserResponse<T> | UserResponse<T>, userTokenOrProvider: TokenOrProvider): Promise<void>;
52
53
  /**
53
54
  * Disconnects the current user, and closes the WebSocket connection. Useful when disconnecting a chat user, use in combination with [`reset`](./ChannelService.mdx/#reset).
54
55
  */
@@ -67,8 +68,8 @@ export declare class ChatClientService {
67
68
  * @param searchTerm
68
69
  * @returns The users matching the search
69
70
  */
70
- autocompleteUsers(searchTerm: string): Promise<UserResponse<import("stream-chat").UR>[]>;
71
+ autocompleteUsers(searchTerm: string): Promise<UserResponse<T>[]>;
71
72
  private updatePendingInvites;
72
- static ɵfac: i0.ɵɵFactoryDeclaration<ChatClientService, never>;
73
- static ɵprov: i0.ɵɵInjectableDeclaration<ChatClientService>;
73
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChatClientService<any>, never>;
74
+ static ɵprov: i0.ɵɵInjectableDeclaration<ChatClientService<any>>;
74
75
  }
@@ -23,7 +23,7 @@ export declare class CustomTemplatesService {
23
23
  *
24
24
  * For code examples to the different customizations see our [customizations example application](https://github.com/GetStream/stream-chat-angular/tree/master/projects/customizations-example), specifically the [AppComponent](https://github.com/GetStream/stream-chat-angular/tree/master/projects/customizations-example/src/app) (see [README](https://github.com/GetStream/stream-chat-angular/blob/master/README.md#customization-examples) for instructions on how to start the application).
25
25
  */
26
- channelPreviewTemplate$: BehaviorSubject<TemplateRef<ChannelPreviewContext> | undefined>;
26
+ channelPreviewTemplate$: BehaviorSubject<TemplateRef<ChannelPreviewContext<import("./types").DefaultStreamChatGenerics>> | undefined>;
27
27
  /**
28
28
  * The message input template used when editing a message (instead of the [default message input](../components/MessageInputComponent.mdx))
29
29
  *
@@ -59,7 +59,7 @@ export declare class CustomTemplatesService {
59
59
  *
60
60
  * For code examples to the different customizations see our [customizations example application](https://github.com/GetStream/stream-chat-angular/tree/master/projects/customizations-example), specifically the [AppComponent](https://github.com/GetStream/stream-chat-angular/tree/master/projects/customizations-example/src/app) (see [README](https://github.com/GetStream/stream-chat-angular/blob/master/README.md#customization-examples) for instructions on how to start the application).
61
61
  */
62
- channelActionsTemplate$: BehaviorSubject<TemplateRef<ChannelActionsContext> | undefined>;
62
+ channelActionsTemplate$: BehaviorSubject<TemplateRef<ChannelActionsContext<import("./types").DefaultStreamChatGenerics>> | undefined>;
63
63
  /**
64
64
  * The template used to display attachments of a [message](../components/MessageComponent.mdx) (instead of the [default attachment list](../components/AttachmentListComponent.mdx))
65
65
  *
@@ -2,7 +2,7 @@ import { TemplateRef, OnChanges, SimpleChanges, OnDestroy, OnInit, ChangeDetecto
2
2
  import { UserResponse } from 'stream-chat';
3
3
  import { ChannelService } from '../channel.service';
4
4
  import { ChatClientService } from '../chat-client.service';
5
- import { AttachmentListContext, DefaultUserType, MentionTemplateContext, MessageActionsBoxContext, MessageReactionsContext, StreamMessage } from '../types';
5
+ import { AttachmentListContext, MentionTemplateContext, MessageActionsBoxContext, MessageReactionsContext, DefaultStreamChatGenerics, StreamMessage } from '../types';
6
6
  import { CustomTemplatesService } from '../custom-templates.service';
7
7
  import * as i0 from "@angular/core";
8
8
  declare type MessagePart = {
@@ -55,7 +55,7 @@ export declare class MessageComponent implements OnInit, OnChanges, OnDestroy {
55
55
  ngOnDestroy(): void;
56
56
  get isSentByCurrentUser(): boolean;
57
57
  get readByText(): string;
58
- get lastReadUser(): UserResponse<DefaultUserType<import("../types").DefaultUserTypeInternal>> | undefined;
58
+ get lastReadUser(): UserResponse<DefaultStreamChatGenerics> | undefined;
59
59
  get isOnlyReadByMe(): boolean | undefined;
60
60
  get isReadByMultipleUsers(): boolean | undefined;
61
61
  get isMessageDeliveredAndRead(): boolean | undefined;
@@ -67,7 +67,26 @@ export declare class MessageComponent implements OnInit, OnChanges, OnDestroy {
67
67
  replyCount: number | undefined;
68
68
  };
69
69
  get canDisplayReadStatus(): boolean;
70
- get quotedMessageAttachments(): import("stream-chat").Attachment<import("../types").DefaultAttachmentType>[];
70
+ get quotedMessageAttachments(): import("stream-chat").Attachment<{
71
+ attachmentType: import("stream-chat").UR & import("../types").UnknownType & {
72
+ asset_url?: string | undefined;
73
+ id?: string | undefined;
74
+ images?: import("stream-chat").Attachment<DefaultStreamChatGenerics>[] | undefined;
75
+ mime_type?: string | undefined;
76
+ };
77
+ channelType: import("stream-chat").UR & import("../types").UnknownType & {
78
+ image?: string | undefined;
79
+ member_count?: number | undefined;
80
+ subtitle?: string | undefined;
81
+ };
82
+ commandType: string & {};
83
+ eventType: import("stream-chat").UR & import("../types").UnknownType;
84
+ messageType: {};
85
+ reactionType: import("stream-chat").UR & import("../types").UnknownType;
86
+ userType: import("stream-chat").UR & import("../types").UnknownType & import("../types").DefaultUserTypeInternal & {
87
+ mutes?: import("stream-chat").Mute<DefaultStreamChatGenerics>[] | undefined;
88
+ };
89
+ }>[];
71
90
  getAttachmentListContext(): AttachmentListContext;
72
91
  getMessageReactionsContext(): MessageReactionsContext;
73
92
  resendMessage(): void;
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter, OnChanges, OnDestroy, SimpleChanges, TemplateRef } from '@angular/core';
2
- import { Subscription } from 'rxjs';
2
+ import { Observable, Subscription } from 'rxjs';
3
3
  import { ChannelService } from '../channel.service';
4
4
  import { ChatClientService } from '../chat-client.service';
5
5
  import { CustomTemplatesService } from '../custom-templates.service';
@@ -44,9 +44,10 @@ export declare class MessageActionsBoxComponent implements OnChanges, OnDestroy
44
44
  modalTemplate: TemplateRef<ModalContext> | undefined;
45
45
  subscriptions: Subscription[];
46
46
  visibleMessageActionItems: MessageActionItem[];
47
+ sendMessage$: Observable<void>;
47
48
  private readonly messageActionItems;
48
- private messageInput;
49
49
  private modalContent;
50
+ private sendMessageSubject;
50
51
  constructor(chatClientService: ChatClientService, notificationService: NotificationService, channelService: ChannelService, customTemplatesService: CustomTemplatesService);
51
52
  ngOnChanges(changes: SimpleChanges): void;
52
53
  ngOnDestroy(): void;
@@ -55,7 +56,7 @@ export declare class MessageActionsBoxComponent implements OnChanges, OnDestroy
55
56
  modalClosed: () => void;
56
57
  getMessageInputContext(): MessageInputContext;
57
58
  getEditModalContext(): ModalContext;
58
- trackByActionName(_: number, item: MessageActionItem): "mute" | "delete" | "flag" | "quote" | "pin" | "edit";
59
+ trackByActionName(_: number, item: MessageActionItem): "delete" | "flag" | "quote" | "pin" | "edit";
59
60
  static ɵfac: i0.ɵɵFactoryDeclaration<MessageActionsBoxComponent, never>;
60
61
  static ɵcmp: i0.ɵɵComponentDeclaration<MessageActionsBoxComponent, "stream-message-actions-box", never, { "isOpen": "isOpen"; "isMine": "isMine"; "message": "message"; "enabledActions": "enabledActions"; }, { "displayedActionsCount": "displayedActionsCount"; "isEditing": "isEditing"; }, never, never>;
61
62
  }
@@ -42,7 +42,7 @@ export declare class AutocompleteTextareaComponent implements TextareaInterface,
42
42
  /**
43
43
  * Emits the array of users that are mentioned in the message, it is updated when a user mentions a new user or deletes a mention.
44
44
  */
45
- readonly userMentions: EventEmitter<UserResponse<import("stream-chat").UR>[]>;
45
+ readonly userMentions: EventEmitter<UserResponse<import("stream-chat").DefaultGenerics>[]>;
46
46
  mentionAutocompleteItemTemplate: TemplateRef<MentionAutcompleteListItemContext> | undefined;
47
47
  commandAutocompleteItemTemplate: TemplateRef<CommandAutocompleteListItemContext> | undefined;
48
48
  private readonly autocompleteKey;
@@ -5,7 +5,7 @@ import { UserResponse } from 'stream-chat';
5
5
  import { AttachmentService } from '../attachment.service';
6
6
  import { ChannelService } from '../channel.service';
7
7
  import { NotificationService } from '../notification.service';
8
- import { AttachmentPreviewListContext, AttachmentUpload, EmojiPickerContext, StreamMessage } from '../types';
8
+ import { AttachmentPreviewListContext, AttachmentUpload, DefaultStreamChatGenerics, EmojiPickerContext, StreamMessage } from '../types';
9
9
  import { MessageInputConfigService } from './message-input-config.service';
10
10
  import { TextareaInterface } from './textarea.interface';
11
11
  import { EmojiInputService } from './emoji-input.service';
@@ -49,6 +49,10 @@ export declare class MessageInputComponent implements OnInit, OnChanges, OnDestr
49
49
  * The message to edit
50
50
  */
51
51
  message: StreamMessage | undefined;
52
+ /**
53
+ * An observable that can be used to trigger message sending from the outside
54
+ */
55
+ sendMessage$: Observable<void> | undefined;
52
56
  /**
53
57
  * Emits when a message was successfuly sent or updated
54
58
  */
@@ -73,6 +77,7 @@ export declare class MessageInputComponent implements OnInit, OnChanges, OnDestr
73
77
  private isViewInited;
74
78
  private appSettings;
75
79
  private channel;
80
+ private sendMessageSubcription;
76
81
  constructor(channelService: ChannelService, notificationService: NotificationService, attachmentService: AttachmentService, configService: MessageInputConfigService, textareaType: Type<TextareaInterface>, componentFactoryResolver: ComponentFactoryResolver, cdRef: ChangeDetectorRef, chatClient: ChatClientService, emojiInputService: EmojiInputService, customTemplatesService: CustomTemplatesService);
77
82
  ngOnInit(): void;
78
83
  ngAfterViewInit(): void;
@@ -80,7 +85,26 @@ export declare class MessageInputComponent implements OnInit, OnChanges, OnDestr
80
85
  ngOnDestroy(): void;
81
86
  messageSent(): Promise<void>;
82
87
  get containsLinks(): boolean;
83
- get quotedMessageAttachments(): import("stream-chat").Attachment<import("../types").DefaultAttachmentType>[];
88
+ get quotedMessageAttachments(): import("stream-chat").Attachment<{
89
+ attachmentType: import("stream-chat").UR & import("../types").UnknownType & {
90
+ asset_url?: string | undefined;
91
+ id?: string | undefined;
92
+ images?: import("stream-chat").Attachment<DefaultStreamChatGenerics>[] | undefined;
93
+ mime_type?: string | undefined;
94
+ };
95
+ channelType: import("stream-chat").UR & import("../types").UnknownType & {
96
+ image?: string | undefined;
97
+ member_count?: number | undefined;
98
+ subtitle?: string | undefined;
99
+ };
100
+ commandType: string & {};
101
+ eventType: import("stream-chat").UR & import("../types").UnknownType;
102
+ messageType: {};
103
+ reactionType: import("stream-chat").UR & import("../types").UnknownType;
104
+ userType: import("stream-chat").UR & import("../types").UnknownType & import("../types").DefaultUserTypeInternal & {
105
+ mutes?: import("stream-chat").Mute<DefaultStreamChatGenerics>[] | undefined;
106
+ };
107
+ }>[];
84
108
  get disabledTextareaText(): "" | "streamChat.You can't send thread replies in this channel" | "streamChat.You can't send messages in this channel" | "streamChat.Slow Mode ON";
85
109
  filesSelected(fileList: FileList | null): Promise<void>;
86
110
  deselectMessageToQuote(): void;
@@ -97,5 +121,5 @@ export declare class MessageInputComponent implements OnInit, OnChanges, OnDestr
97
121
  private startCooldown;
98
122
  private stopCooldown;
99
123
  static ɵfac: i0.ɵɵFactoryDeclaration<MessageInputComponent, never>;
100
- static ɵcmp: i0.ɵɵComponentDeclaration<MessageInputComponent, "stream-message-input", never, { "isFileUploadEnabled": "isFileUploadEnabled"; "areMentionsEnabled": "areMentionsEnabled"; "mentionScope": "mentionScope"; "mode": "mode"; "isMultipleFileUploadEnabled": "isMultipleFileUploadEnabled"; "message": "message"; }, { "messageUpdate": "messageUpdate"; }, never, never>;
124
+ static ɵcmp: i0.ɵɵComponentDeclaration<MessageInputComponent, "stream-message-input", never, { "isFileUploadEnabled": "isFileUploadEnabled"; "areMentionsEnabled": "areMentionsEnabled"; "mentionScope": "mentionScope"; "mode": "mode"; "isMultipleFileUploadEnabled": "isMultipleFileUploadEnabled"; "message": "message"; "sendMessage$": "sendMessage$"; }, { "messageUpdate": "messageUpdate"; }, never, never>;
101
125
  }
@@ -10,7 +10,7 @@ export declare class TextareaDirective implements OnChanges {
10
10
  value: string;
11
11
  readonly valueChange: EventEmitter<string>;
12
12
  readonly send: EventEmitter<void>;
13
- readonly userMentions: EventEmitter<UserResponse<import("stream-chat").UR>[]>;
13
+ readonly userMentions: EventEmitter<UserResponse<import("stream-chat").DefaultGenerics>[]>;
14
14
  private subscriptions;
15
15
  private unpropagatedChanges;
16
16
  constructor(viewContainerRef: ViewContainerRef);
@@ -1,3 +1,3 @@
1
1
  import { StreamMessage } from '../types';
2
2
  export declare type GroupStyle = '' | 'middle' | 'top' | 'bottom' | 'single';
3
- export declare const getGroupStyles: (message: StreamMessage, previousMessage?: StreamMessage<import("../types").DefaultAttachmentType, import("../types").DefaultChannelType, import("stream-chat").LiteralStringForUnion, import("../types").DefaultMessageType, import("../types").UnknownType, import("../types").DefaultUserType<import("../types").DefaultUserTypeInternal>> | undefined, nextMessage?: StreamMessage<import("../types").DefaultAttachmentType, import("../types").DefaultChannelType, import("stream-chat").LiteralStringForUnion, import("../types").DefaultMessageType, import("../types").UnknownType, import("../types").DefaultUserType<import("../types").DefaultUserTypeInternal>> | undefined, noGroupByUser?: boolean) => GroupStyle;
3
+ export declare const getGroupStyles: (message: StreamMessage, previousMessage?: StreamMessage<import("../types").DefaultStreamChatGenerics> | undefined, nextMessage?: StreamMessage<import("../types").DefaultStreamChatGenerics> | undefined, noGroupByUser?: boolean) => GroupStyle;
@@ -1,2 +1,3 @@
1
1
  import { Attachment, MessageResponse, UserResponse } from 'stream-chat';
2
- export declare const createMessagePreview: (user: UserResponse, text: string, attachments?: Attachment[], mentionedUsers?: UserResponse[], parentId?: undefined | string, quotedMessageId?: undefined | string) => MessageResponse<import("stream-chat").UR, import("stream-chat").UR, import("stream-chat").LiteralStringForUnion, import("stream-chat").UR, import("stream-chat").UR, import("stream-chat").UR>;
2
+ import { DefaultStreamChatGenerics } from './types';
3
+ export declare const createMessagePreview: <T extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(user: UserResponse, text: string, attachments: Attachment<T>[] | undefined, mentionedUsers: UserResponse<T>[] | undefined, parentId: undefined | string, quotedMessageId: undefined | string, customData: Partial<T["messageType"]> | undefined) => MessageResponse<T>;
@@ -1,7 +1,7 @@
1
1
  import { AfterViewChecked, ChangeDetectorRef, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
2
2
  import { ReactionResponse } from 'stream-chat';
3
3
  import { ChannelService } from '../channel.service';
4
- import { DefaultReactionType, DefaultUserType, MessageReactionType } from '../types';
4
+ import { MessageReactionType, DefaultStreamChatGenerics } from '../types';
5
5
  import * as i0 from "@angular/core";
6
6
  /**
7
7
  * The `MessageReactions` component displays the reactions of a message, the current user can add and remove reactions. You can read more about [message reactions](https://getstream.io/chat/docs/javascript/send_reaction/?language=javascript) in the platform documentation.
@@ -26,11 +26,11 @@ export declare class MessageReactionsComponent implements AfterViewChecked, OnCh
26
26
  /**
27
27
  * List of reactions of a [message](../types/stream-message.mdx), used to display the users of a reaction type.
28
28
  */
29
- latestReactions: ReactionResponse<DefaultReactionType, DefaultUserType>[];
29
+ latestReactions: ReactionResponse<DefaultStreamChatGenerics>[];
30
30
  /**
31
31
  * List of the user's own reactions of a [message](../types/stream-message.mdx), used to display the users of a reaction type.
32
32
  */
33
- ownReactions: ReactionResponse<DefaultReactionType, DefaultUserType>[];
33
+ ownReactions: ReactionResponse<DefaultStreamChatGenerics>[];
34
34
  /**
35
35
  * Indicates if the selector should be opened or closed. Adding a UI element to open and close the selector is the parent's component responsibility.
36
36
  */
@@ -49,7 +49,7 @@ export declare class MessageReactionsComponent implements AfterViewChecked, OnCh
49
49
  get existingReactions(): MessageReactionType[];
50
50
  get reactionsCount(): number;
51
51
  get reactionOptions(): MessageReactionType[];
52
- getLatestUserByReaction(reactionType: MessageReactionType): import("stream-chat").UserResponse<DefaultUserType<import("../types").DefaultUserTypeInternal>> | null | undefined;
52
+ getLatestUserByReaction(reactionType: MessageReactionType): import("stream-chat").UserResponse<DefaultStreamChatGenerics> | null | undefined;
53
53
  getEmojiByReaction(reactionType: MessageReactionType): string;
54
54
  getUsersByReaction(reactionType: MessageReactionType): string;
55
55
  showTooltip(event: Event, reactionType: MessageReactionType): void;
package/lib/read-by.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  import { Channel, FormatMessageResponse, UserResponse } from 'stream-chat';
2
- export declare const getReadBy: (message: FormatMessageResponse, channel: Channel) => UserResponse<import("stream-chat").UR>[];
2
+ import { DefaultStreamChatGenerics } from './types';
3
+ export declare const getReadBy: <T extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(message: FormatMessageResponse<T>, channel: Channel<T>) => UserResponse<import("stream-chat").DefaultGenerics>[];