export interface RetrieveTestProps { messages?: Message[]; onSearch?: (query: string, config: any) => void; setKbInfo?: any; } export interface FilePreview { file: File; preview?: string; type: "image" | "document"; } export interface FormItemProps { type: 'input' | 'select' | 'number' | 'slider' | 'switch' | 'date' | 'radio' | 'textarea' | 'divider'; label: string; description?: string; control?: string[]; controlledItems?: string[]; name: string; defaultValue?: any; options?: { label: string; value: string; }[]; range?: { min: number; max: number; }; step?: number; unit?: string; placeholder?: string; className?: string; disabled?: boolean; required?: boolean; error?: string; } export interface BaseChatMessage { id?: string; type: "user" | "ai"; time: string; content: any; [key: string]: any; } export interface ChatMessageProps { type: "user" | "ai"; time: string; content: any; id?: string; hasLLMConfig?: boolean; retrievedChunks?: Array<{ [key: string]: any; }>; prompt?: string; configInfo?: { textChunks: number; topP: number; topN: number; denseWeight: number; enableKG: boolean; enableRerank: boolean; model: string; temperature?: number; diversity?: number; maxTokens?: number; recallModel: string; llmModel: string; respTime?: number; tokens?: number; search_type?: string | string[]; search_policy?: string; }; streaming?: boolean; isLatest?: boolean; finished?: boolean; } export interface Message { type: "user" | "ai"; time: string; content: string; hasLLMConfig?: boolean; retrievedChunks?: Array<{ content: string; similarity: number; rerank: number; chunk_id: number; source: string; }>; prompt?: string; configInfo?: any; queryId?: string; fullContent?: string; finished?: boolean; typedLength?: number; } export interface ConversationData { id: string; messages: Message[]; [key: string]: any; } export interface ListItemType { label: string; sessionId: string; gmtModified: number; [key: string]: any; } export interface ListType { activedItem?: string; data: ListItemType[]; sortRules?: { label: string; dayPeriod: number; }[]; }