import { OnChanges, SimpleChanges, OnDestroy, OnInit, ChangeDetectorRef, AfterViewInit, ElementRef, NgZone } from '@angular/core'; import { UserResponse } from 'stream-chat'; import { ChannelService } from '../channel.service'; import { ChatClientService } from '../chat-client.service'; import { AttachmentListContext, MessageActionsBoxContext, MessageReactionsContext, StreamMessage, DeliveredStatusContext, SendingStatusContext, ReadStatusContext, SystemMessageContext, CustomMetadataContext, MessageTextContext, MessageBlockedContext } from '../types'; import { Observable } from 'rxjs'; import { CustomTemplatesService } from '../custom-templates.service'; import { DateParserService } from '../date-parser.service'; import { MessageActionsService } from '../message-actions.service'; import { NgxFloatUiContentComponent, NgxFloatUiLooseDirective } from 'ngx-float-ui'; import { TranslateService } from '@ngx-translate/core'; import * as i0 from "@angular/core"; /** * The `Message` component displays a message with additional information such as sender and date, and enables [interaction with the message (i.e. edit or react)](/chat/docs/sdk/angular/concepts/message-interactions/). */ export declare class MessageComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit { private chatClientService; private channelService; customTemplatesService: CustomTemplatesService; private cdRef; private dateParser; messageActionsService: MessageActionsService; private ngZone; private translateService; /** * The message to be displayed */ message: StreamMessage | undefined; /** * The list of [channel capabilities](/chat/docs/javascript/channel_capabilities/) that are enabled for the current user, the list of [supported interactions](/chat/docs/sdk/angular/concepts/message-interactions/) can be found in our message interaction guide. Unathorized actions won't be displayed on the UI. The [`MessageList`](/chat/docs/sdk/angular/components/MessageListComponent/) component automatically sets this based on [channel capabilities](/chat/docs/javascript/channel_capabilities/). */ enabledMessageActions: string[]; /** * If `true`, the message status (sending, sent, who read the message) is displayed. */ isLastSentMessage: boolean | undefined; /** * Determines if the message is being dispalyed in a channel or in a [thread](/chat/docs/javascript/threads/). */ mode: 'thread' | 'main'; /** * Highlighting is used to add visual emphasize to a message when jumping to the message */ isHighlighted: boolean; /** * An Observable that emits when the message list is scrolled, it's used to prevent opening the message menu while scroll is in progress */ scroll$?: Observable; canReceiveReadEvents: boolean | undefined; canReactToMessage: boolean | undefined; isEditedFlagOpened: boolean; shouldDisplayTranslationNotice: boolean; displayedMessageTextContent: 'original' | 'translation'; nestedModalState: 'opened' | 'closed'; shouldDisplayThreadLink: boolean; isSentByCurrentUser: boolean; readByText: string; lastReadUser: UserResponse | undefined; isOnlyReadByMe: boolean; isReadByMultipleUsers: boolean; isMessageDeliveredAndRead: boolean; parsedDate: string; pasedEditedDate: string; areOptionsVisible: boolean; hasAttachment: boolean; hasReactions: boolean; replyCountParam: { replyCount: number | undefined; }; areMessageOptionsOpen: boolean; canDisplayReadStatus: boolean; hasTouchSupport: boolean; private quotedMessageAttachments; private subscriptions; private isViewInited; private userId?; messageMenuTrigger: NgxFloatUiLooseDirective; messageMenuFloat: NgxFloatUiContentComponent; messageTextElement?: ElementRef; messageBubble?: ElementRef; private showMessageMenuTimeout?; private shouldPreventMessageMenuClose; private _visibleMessageActionsCount; private channelMemberCount?; constructor(chatClientService: ChatClientService, channelService: ChannelService, customTemplatesService: CustomTemplatesService, cdRef: ChangeDetectorRef, dateParser: DateParserService, messageActionsService: MessageActionsService, ngZone: NgZone, translateService: TranslateService); get visibleMessageActionsCount(): number; set visibleMessageActionsCount(count: number); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; ngOnDestroy(): void; mousePushedDown(event: MouseEvent): void; mouseReleased(): void; touchStarted(): void; touchEnded(): void; messageBubbleClicked(event: Event): void; messageOptionsButtonClicked(): void; messageActionsBoxClicked(floatingContent: NgxFloatUiContentComponent): void; getAttachmentListContext(): AttachmentListContext; getMessageContext(): SystemMessageContext; getMessageTextContext(): MessageTextContext; getQuotedMessageTextContext(): MessageTextContext; getQuotedMessageAttachmentListContext(): AttachmentListContext; getMessageReactionsContext(): MessageReactionsContext; messageClicked(): void; resendMessage(): void; setAsActiveParentMessage(): void; getMessageActionsBoxContext(): MessageActionsBoxContext; getDeliveredStatusContext(): DeliveredStatusContext; getSendingStatusContext(): SendingStatusContext; getReadStatusContext(): ReadStatusContext; getMessageMetadataContext(): CustomMetadataContext; getMessageBlockedContext(): MessageBlockedContext; jumpToMessage(messageId: string, parentMessageId?: string): void; openMessageBouncePrompt(): void; displayTranslatedMessage(): void; displayOriginalMessage(): void; private updateReadByText; private setIsSentByCurrentUser; private setLastReadUser; private startMessageMenuShowTimer; private registerMenuTriggerEventHandlers; private stopMessageMenuShowTimer; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }