import React, { ReactNode } from 'react';
import { MessageActionEventHandler, MessageCodeCopyEventHandler, MessageCopyEventHandler, MessageTimestampPosition, MessageVariant, MessageVersionEventHandler } from './types';
import { MessageComponentsProps } from './components';
export interface MessageProps {
    id?: string;
    content?: string;
    className?: string;
    variant?: MessageVariant;
    color?: string;
    name?: string;
    tags?: React.ReactNode;
    avatar?: React.ReactNode;
    transaction?: React.ReactNode;
    disableModal?: boolean;
    disableResend?: boolean;
    disableEdit?: boolean;
    disableDelete?: boolean;
    disableUpdate?: boolean;
    disableCopy?: boolean;
    disableDownload?: boolean;
    disableEncryption?: boolean;
    copyPlainText?: string | null;
    copyTgText?: string | null;
    editText?: string | null;
    editOutOfMenu?: boolean;
    resendText?: string | null;
    deleteText?: string | null;
    onReportText?: string | null;
    submitEditTooltipLabel?: string | null;
    discardEditTooltipLabel?: string | null;
    updateTooltipLabel?: string | null;
    copyTooltipLabel?: string | null;
    downloadTooltipLabel?: string | null;
    encryptionTooltipLabel?: string | null;
    typing?: boolean;
    timestamp?: string | number;
    timestampPosition?: MessageTimestampPosition;
    skeleton?: boolean;
    buttons?: ReactNode;
    after?: ReactNode;
    components?: MessageComponentsProps;
    children?: ReactNode;
    version?: number;
    totalVersions?: number;
    hideActions?: boolean;
    onCopy?: MessageCopyEventHandler;
    onCodeCopy?: MessageCodeCopyEventHandler;
    onEdit?: MessageActionEventHandler;
    onResend?: MessageActionEventHandler;
    onDelete?: MessageActionEventHandler;
    onUpdate?: MessageActionEventHandler;
    onReport?: MessageActionEventHandler;
    onNextVersion?: MessageVersionEventHandler;
    onPrevVersion?: MessageVersionEventHandler;
    onDownload?: () => void;
}
export declare const Message: React.FC<MessageProps>;
export * from './types';
export * from './styled';
export * from './context';
export * from './list';
export * from './copy';
export * from './markdown';
export * from './components';
export * from './badge-progress';
export * from './button';
export * from './file';
export * from './voice';
export * from './reasoning-block';
export * from './search-results';
export * from './video';
