/** * @license * Copyright Akveo. All Rights Reserved. * Licensed under the MIT License. See License.txt in the project root for license information. */ import { TemplateRef } from '@angular/core'; import { DomSanitizer, SafeStyle } from '@angular/platform-browser'; import { NbBooleanInput } from '../helpers'; import { NbChatMessageFile } from './chat-message-file.component'; import { NbChatCustomMessageService } from './chat-custom-message.service'; import { NbChatCustomMessageDirective } from './chat-custom-message.directive'; import * as i0 from "@angular/core"; /** * Chat message component. * * Multiple message types are available through a `type` property, such as * - text - simple text message * - file - could be a file preview or a file icon * if multiple files are provided grouped files are shown * - quote - quotes a message with specific quote styles * - map - shows a google map picture by provided [latitude] and [longitude] properties * * @stacked-example(Available Types, chat/chat-message-types-showcase.component) * * Message with attached files: * ```html * * * ``` * * Map message: * ```html * * * ``` * * @styles * * chat-message-background: * chat-message-text-color: * chat-message-reply-background-color: * chat-message-reply-text-color: * chat-message-avatar-background-color: * chat-message-sender-text-color: * chat-message-quote-background-color: * chat-message-quote-text-color: * chat-message-file-text-color: * chat-message-file-background-color: */ export declare class NbChatMessageComponent { protected domSanitizer: DomSanitizer; protected customMessageService: NbChatCustomMessageService; protected readonly builtInMessageTypes: string[]; avatarStyle: SafeStyle; get _addReplyClass(): boolean; get _addNotReplyClass(): boolean; get _addNoSpaceClass(): boolean; get flyInOut(): boolean; get notReply(): boolean; /** * Determines if a message is a reply */ get reply(): boolean; set reply(value: boolean); protected _reply: boolean; static ngAcceptInputType_reply: NbBooleanInput; /** * Message sender * @type {string} */ message: string; /** * Message sender * @type {string} */ sender: string; /** * Message send date * @type {Date} */ date: Date; /** * Message send date format, default 'shortTime' * @type {string} */ dateFormat: string; /** * Array of files `{ url: 'file url', icon: 'file icon class' }` */ files: NbChatMessageFile[]; /** * Quoted message text * @type {string} */ quote: string; /** * Map latitude * @type {number} */ latitude: number; /** * Map longitude * @type {number} */ longitude: number; /** * Message send avatar * @type {string} */ set avatar(value: string); /** * Message type, available options `text|file|map|quote` * @type {string} */ type: string; /** * Data which will be set as custom message template context * @type {any} */ customMessageData: any; constructor(domSanitizer: DomSanitizer, customMessageService: NbChatCustomMessageService); getInitials(): string; _isBuiltInMessageType(): boolean; _getTemplate(): TemplateRef; _getTemplateContext(): { $implicit: any; isReply: boolean; }; _areDefaultStylesEnabled(): boolean; protected getCustomMessage(type: string): NbChatCustomMessageDirective; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }