import React from 'react';
import { InlineImageOptions } from '../ChatMessageContent';
import { ChatMessage } from '../../../types/ChatMessage';
import { MessageThreadStrings } from '../../MessageThread';
import { ComponentSlotStyle, OnRenderAvatarCallback } from '../../../types';
import { AttachmentMenuAction } from '../../../types/Attachment';
import { AttachmentMetadata } from "../../../../../acs-ui-common/src";
type ChatMyMessageComponentAsMessageBubbleProps = {
    message: ChatMessage;
    messageContainerStyle?: ComponentSlotStyle;
    showDate?: boolean;
    disableEditing?: boolean;
    onEditClick: () => void;
    onRemoveClick?: () => void;
    onResendClick?: () => void;
    strings: MessageThreadStrings;
    userId: string;
    messageStatus?: string;
    /**
     * Whether the status indicator for each message is displayed or not.
     */
    showMessageStatus?: boolean;
    shouldFocusFluentMessageBody: boolean;
    remoteParticipantsCount?: number;
    onActionButtonClick: (message: ChatMessage, setMessageReadBy: (readBy: {
        id: string;
        displayName: string;
    }[]) => void) => void;
    /**
     * Optional callback to override render of the avatar.
     *
     * @param userId - user Id
     */
    onRenderAvatar?: OnRenderAvatarCallback;
    /**
     * Optional function to provide customized date format.
     * @beta
     */
    onDisplayDateTimeString?: (messageDate: Date) => string;
    /**
     * Optional callback called when an inline image is clicked.
     * @beta
     */
    inlineImageOptions?: InlineImageOptions;
    /**
     * Optional callback to render message attachments in the message component.
     */
    onRenderAttachmentDownloads?: (message: ChatMessage) => JSX.Element;
    /**
     * Optional callback to define custom actions for attachments.
     */
    actionsForAttachment?: (attachment: AttachmentMetadata, message?: ChatMessage) => AttachmentMenuAction[];
};
/** @private */
export declare const ChatMyMessageComponentAsMessageBubble: React.MemoExoticComponent<(props: ChatMyMessageComponentAsMessageBubbleProps) => JSX.Element>;
export {};
//# sourceMappingURL=ChatMyMessageComponentAsMessageBubble.d.ts.map