import { default as React } from 'react';
import { AdapterProps } from '../core/types';
export interface ReferenceItem {
    name: string;
    file_type: string;
    url: string;
    parse_url?: string;
    retrieve_tags?: any;
}
export interface ReferenceDoc {
    metadata: {
        source: string;
        file_path: string;
        id: string;
        score?: number;
        title?: string;
        link?: string;
    };
    order_num: string;
    parsedFilePath?: string;
    score?: number;
    file_name?: string;
    file_path?: string;
    pdfPages?: number;
    type?: string;
}
export interface ReferenceData {
    knowledgeRefs?: ReferenceDoc[];
    webRefs?: ReferenceDoc[];
    imageRefs?: string[];
    rawReference?: string;
    rawWebReference?: string;
}
export interface SessionContext {
    searchConfigDTO?: any;
    sessionId?: string;
    label?: string;
    filePath?: string;
    configId?: string;
    kbId?: string;
    queryId: string;
}
export interface FollowUpQuestion {
    id: string;
    text: string;
}
export interface ChatMessageAdapterProps extends AdapterProps {
    contentType?: 'plainText' | 'stream';
    content: any;
    extend_content?: any;
    following_content?: any;
    align?: 'left' | 'right' | 'center';
    status?: 'sending' | 'printing' | 'finished' | 'error';
    displayStatus?: 'ready' | 'processing' | 'thinking' | 'uploading' | 'error' | 'initializing' | 'analyzing';
    avatar?: string;
    isUser?: boolean;
    userAvatar?: string;
    aiAvatar?: string;
    userName?: string;
    aiName?: string;
    date?: string;
    time?: string;
    timestamp?: string;
    showTime?: boolean;
    reference?: string;
    webReference?: string;
    databaseReference?: any;
    graphReference?: string | any;
    sessionContext?: SessionContext;
    filePaths?: string;
    currentFiles?: any[];
    fileManagerData?: any;
    audioUrl?: string;
    feedbackResult: null | number;
    queryId: string;
    eventsEmit?: (eventName: string, payload?: any) => void;
    defaultAnswer?: string;
    idx: number;
    isWelcome?: boolean;
    isLast?: boolean;
    messages: any[];
    respTime: number;
    resultType: number;
    tokens?: number;
    followUpQuestions?: string[];
    tools?: {
        like?: boolean;
        dislike?: boolean;
        repeat?: boolean;
        forward?: boolean;
        copy?: boolean;
        delete?: boolean;
        edit?: boolean;
    };
    is_download?: string;
    from?: string;
    supportMarkdown?: boolean;
    errorMessage?: string;
    referenceMode?: 'list' | 'button';
}
/**
 * 聊天消息适配器
 * 用于聊天对话框中的富文本渲染，支持用户和AI消息的不同样式
 */
declare const ChatMessageAdapter: React.FC<ChatMessageAdapterProps>;
export default ChatMessageAdapter;
