declare interface KnowledgeContentResultItem {
  content: string
  score: number
  knowledgeName: string
  documentName: string
}

declare interface DBChainResultItem {
  result: string
  sql: string
  sqlResult: string
  status: string
}

declare type PluginDisplayFormatType = 'json' | 'markdown' | 'none' | 'travelForm'

declare interface ConversationMessageItem {
  timestamp: number
  role: 'user' | 'assistant'
  textContent: string
  isEmptyContent: boolean
  isTextContentLoading: boolean
  isAnswerResponseLoading: boolean
  isVoiceLoading: boolean
  isVoicePlaying: boolean
  voiceFragmentUrlList: string[]
  isVoiceEnabled?: boolean
  imageUrl?: string
  reasoningContent: string
  modelName?: string
  knowledgeContentResult: KnowledgeContentResultItem[]
  dbChainSQLContent: string
  pluginResult?: {
    displayFormat: PluginDisplayFormatType
    pluginName: string
    arguments: string
    pluginContent: string
  }
  smartFormInfo?: {
    type: 'BusinessTripForm' | ''
    isDisabled: boolean
    params: string
  }
}
