import React from 'react';
import type { MessageInputProps } from '../MessageInput';
import type { MessageListProps, VirtualizedMessageListProps } from '../MessageList';
import type { MessageProps, MessageUIComponentProps } from '../Message/types';
import type { MessageActionsArray } from '../Message/utils';
export type ThreadProps = {
    /** Additional props for `MessageInput` component: [available props](https://getstream.io/chat/docs/sdk/react/message-input-components/message_input/#props) */
    additionalMessageInputProps?: MessageInputProps;
    /** Additional props for `MessageList` component: [available props](https://getstream.io/chat/docs/sdk/react/core-components/message_list/#props) */
    additionalMessageListProps?: MessageListProps;
    /** Additional props for `Message` component of the parent message: [available props](https://getstream.io/chat/docs/sdk/react/message-components/message/#props) */
    additionalParentMessageProps?: Partial<MessageProps>;
    /** Additional props for `VirtualizedMessageList` component: [available props](https://getstream.io/chat/docs/sdk/react/core-components/virtualized_list/#props) */
    additionalVirtualizedMessageListProps?: VirtualizedMessageListProps;
    /** If true, focuses the `MessageInput` component on opening a thread */
    autoFocus?: boolean;
    /** Injects date separator components into `Thread`, defaults to `false`. To be passed to the underlying `MessageList` or `VirtualizedMessageList` components */
    enableDateSeparator?: boolean;
    /** Custom thread input UI component used to override the default `Input` value stored in `ComponentContext` or the [MessageInputSmall](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageInput/MessageInputSmall.tsx) default */
    Input?: React.ComponentType;
    /** Custom thread message UI component used to override the default `Message` value stored in `ComponentContext` */
    Message?: React.ComponentType<MessageUIComponentProps>;
    /** Array of allowed message actions (ex: ['edit', 'delete', 'flag', 'mute', 'pin', 'quote', 'react', 'reply']). To disable all actions, provide an empty array. */
    messageActions?: MessageActionsArray;
    /** If true, render the `VirtualizedMessageList` instead of the standard `MessageList` component */
    virtualized?: boolean;
};
/**
 * The Thread component renders a parent Message with a list of replies
 */
export declare const Thread: (props: ThreadProps) => React.JSX.Element | null;
