import './index.scss';
import React from 'react';
import type { RenderCustomSeparatorProps, RenderMessageParamsType } from '../../../../types';
import type { GroupChannelHeaderProps } from '../GroupChannelHeader';
import type { GroupChannelMessageListProps } from '../MessageList';
import type { MessageContentProps } from '../../../../ui/MessageContent';
export interface GroupChannelUIBasicProps {
    renderPlaceholderLoader?: () => React.ReactElement;
    renderPlaceholderInvalid?: () => React.ReactElement;
    renderPlaceholderEmpty?: () => React.ReactElement;
    renderChannelHeader?: (props: GroupChannelHeaderProps) => React.ReactElement;
    renderMessageList?: (props: GroupChannelMessageListProps) => React.ReactElement;
    renderMessageInput?: () => React.ReactElement;
    renderMessage?: (props: RenderMessageParamsType) => React.ReactElement;
    renderMessageContent?: (props: MessageContentProps) => React.ReactElement;
    renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;
    renderFrozenNotification?: () => React.ReactElement;
    renderFileUploadIcon?: () => React.ReactElement;
    renderVoiceMessageIcon?: () => React.ReactElement;
    renderSendMessageIcon?: () => React.ReactElement;
    renderTypingIndicator?: () => React.ReactElement;
}
export interface GroupChannelUIViewProps extends GroupChannelUIBasicProps {
    loading: boolean;
    isInvalid: boolean;
    channelUrl: string;
    renderChannelHeader: GroupChannelUIBasicProps['renderChannelHeader'];
    renderMessageList: GroupChannelUIBasicProps['renderMessageList'];
    renderMessageInput: GroupChannelUIBasicProps['renderMessageInput'];
}
export declare const GroupChannelUIView: (props: GroupChannelUIViewProps) => React.JSX.Element;
