import React from 'react';
import { TextInput, View } from 'react-native';
import { Message, Conversation } from 'softchatjs-core';
import { ChatBubbleRenderProps } from '../../../types.js';

type OnSelectedMessage = {
    message: Message;
    chatItemRef: React.MutableRefObject<View | undefined>;
};
type ChatItemProps = {
    inputRef: React.RefObject<TextInput>;
    position: "left" | "right";
    onSelectedMessage: ({ message, chatItemRef }: OnSelectedMessage) => void;
    message: Message;
    conversation: Conversation | null;
    onLongPress: (data: OnSelectedMessage & {
        isMessageOwner: boolean;
    }) => void;
    chatUserId: string;
    recipientId: string;
    renderChatBubble?: (props: ChatBubbleRenderProps) => void;
    layout?: "stacked";
    onScrollToIndex: (messageId: string) => void;
    isPending?: boolean;
    threaded?: boolean;
};
declare const ChatItem: React.ForwardRefExoticComponent<ChatItemProps & React.RefAttributes<unknown>>;

export { ChatItem };
