import { MessageBubbleAlignment } from "../Enums/Enums";
import { CometChatMessageTemplate } from "../modals";
import { CalendarObject } from "./CalendarObject";
import { CometChatTextFormatter } from "../formatters";
/**
 * Utility class for handling message display and styling.
 * It is used in CometChatMessageInformation component.
 */
export declare class MessageUtils {
    /**
     * Retrieves the content view for a message based on the provided template.
     *
     * @param {CometChat.BaseMessage} message - The message object for which to get the content view.
     * @param {CometChatMessageTemplate} template - The message template to use for rendering the content view.
     * @returns {object | null} - The content view for the message, or null if not found.
     */
    getContentView(message: CometChat.BaseMessage, template: CometChatMessageTemplate, alignment?: MessageBubbleAlignment, textFormatters?: CometChatTextFormatter[]): any;
    /**
     * Retrieves the content view for a message based on the provided template.
     *
     * @param {CometChat.BaseMessage} message - The message object for which to get the content view.
     * @param {CometChatMessageTemplate} template - The message template to use for rendering the content view.
     * @returns {object | null} - The content view for the message, or null if not found.
     */
    getStatusInfoView(message: CometChat.BaseMessage, template: CometChatMessageTemplate, alignment?: MessageBubbleAlignment, messageSentAtDateTimeFormat?: CalendarObject, hideReceipts?: boolean): any;
    /**
     * Retrieves the bubble wrapper for a message based on the provided template.
     *
     * @param {CometChat.BaseMessage} message - The message object for which to get the bubble wrapper.
     * @param {CometChatMessageTemplate} template - The message template to use for rendering the bubble wrapper.
     * @returns {object | null} - The bubble wrapper for the message, or null if not found.
     */
    getBubbleWrapper(message: CometChat.BaseMessage, template: CometChatMessageTemplate): any;
    /**
     * Constructs a message bubble component based on the message, template, style, and alignment.
     *
     * @param {CometChat.BaseMessage} baseMessage - The message object to be displayed in the bubble.
     * @param {CometChatMessageTemplate} template - The message template to use for rendering the bubble.
     * @param {object} messageBubbleStyle - The style object for the message bubble.
     * @param {MessageBubbleAlignment} alignment - The alignment of the message bubble (left or right).
     * @returns {JSX.Element} - The message bubble component.
     */
    getMessageBubble(baseMessage: CometChat.BaseMessage, template: CometChatMessageTemplate, alignment: MessageBubbleAlignment, messageSentAtDateTimeFormat?: CalendarObject, hideReceipts?: boolean, textFormatters?: CometChatTextFormatter[]): any;
    /**
     *
     * @param {(CometChat.User | CometChat.GroupMember | any)} user
     * @returns {boolean}
     */
    getUserStatusVisible(user: CometChat.User | CometChat.GroupMember | any): boolean;
    /**
     * Description placeholder
     *
     * @param {*} message
     * @returns {string}
     */
    getActionMessage(message: CometChat.Action): string;
}
