import { LitElement, type PropertyValues } from 'lit'; import type { IgcChatMessage } from './types.js'; /** * A chat message component for displaying individual messages in ``. * * @element igc-chat-message * * * This component renders a single chat message including: * - Message text (sanitized) * - Attachments (if any) * - Custom templates for message content and actions (if provided via chat options) * * It distinguishes sent messages from received messages by comparing * the message sender with the current user ID from chat state. * * The message text is sanitized with DOMPurify before rendering, * and can be rendered with a markdown renderer if provided. */ export default class IgcChatMessageComponent extends LitElement { static readonly tagName = "igc-chat-message"; static styles: import("lit").CSSResult[]; static register(): void; private readonly _adoptedStyles; private readonly _defaults; private readonly _stateChanged; private readonly _stateConsumer; private _shouldAdoptRootStyles; private get _state(); /** * The chat message to render. */ message: IgcChatMessage; constructor(); protected update(props: PropertyValues): void; private _adoptPageStyles; private _getRenderer; private _handleCopy; private _handleMessageActionClick; private _renderHeader; private _renderContent; private _renderActions; private _renderActionButton; private _renderAttachments; private _renderMessage; protected render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'igc-chat-message': IgcChatMessageComponent; } }