/// <reference types="react" />
import { MessageStatus } from "../../../../acs-ui-common/src";
import { MessageProps, MessageRenderer, MessageThreadStyles, _ChatMessageProps } from '../MessageThread';
import { ChatMessage, OnRenderAvatarCallback } from '../../types';
import { AttachmentMenuAction } from '../../types/Attachment';
import { AttachmentMetadata } from "../../../../acs-ui-common/src";
import { MessageStatusIndicatorProps } from '../MessageStatusIndicator';
import { InlineImageOptions } from './ChatMessageContent';
/**
 * Props for {@link ChatMessageComponentWrapper}
 *
 * @private
 */
export type ChatMessageComponentWrapperProps = _ChatMessageProps & {
    /**
     * UserId of the current user.
     */
    userId: string;
    styles: MessageThreadStyles | undefined;
    shouldOverlapAvatarAndMessage: boolean;
    onRenderMessageStatus: ((messageStatusIndicatorProps: MessageStatusIndicatorProps) => JSX.Element | null) | undefined;
    defaultStatusRenderer: (message: ChatMessage, participantCount: number, readCount: number, status?: MessageStatus) => JSX.Element;
    onRenderMessage?: (messageProps: MessageProps, messageRenderer?: MessageRenderer) => JSX.Element;
    onRenderAvatar?: OnRenderAvatarCallback;
    showMessageStatus?: boolean;
    participantCount?: number;
    readCount?: number;
    onActionButtonClick: (message: ChatMessage, setMessageReadBy: (readBy: {
        id: string;
        displayName: string;
    }[]) => void) => void;
    inlineImageOptions?: InlineImageOptions;
    onRenderAttachmentDownloads?: (message: ChatMessage) => JSX.Element;
    /**
     * Optional callback to define custom actions for attachments.
     */
    actionsForAttachment?: (attachment: AttachmentMetadata, message?: ChatMessage) => AttachmentMenuAction[];
};
/**
 * The wrapper component to display different types of chat message.
 *
 * @private
 */
export declare const ChatMessageComponentWrapper: (props: ChatMessageComponentWrapperProps) => JSX.Element;
//# sourceMappingURL=ChatMessageComponentWrapper.d.ts.map