import React from 'react';
import type { MessageContentProps } from '../../../../ui/MessageContent';
import type { GroupChannelHeaderProps } from '../../../GroupChannel/components/GroupChannelHeader';
import type { RenderCustomSeparatorProps } from '../../../../types';
import { RenderMessageParamsType } from '../../../../types';
export interface ChannelUIProps {
    isLoading?: boolean;
    renderPlaceholderLoader?: () => React.ReactElement;
    renderPlaceholderInvalid?: () => React.ReactElement;
    renderPlaceholderEmpty?: () => React.ReactElement;
    renderChannelHeader?: (props: GroupChannelHeaderProps) => React.ReactElement;
    renderMessage?: (props: RenderMessageParamsType) => React.ReactElement;
    renderMessageContent?: (props: MessageContentProps) => React.ReactElement;
    renderMessageInput?: () => React.ReactElement;
    renderFileUploadIcon?: () => React.ReactElement;
    renderVoiceMessageIcon?: () => React.ReactElement;
    renderSendMessageIcon?: () => React.ReactElement;
    renderTypingIndicator?: () => React.ReactElement;
    renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;
    renderFrozenNotification?: () => React.ReactElement;
}
declare const ChannelUI: (props: ChannelUIProps) => React.JSX.Element;
export default ChannelUI;
