import React from 'react'; import { HistoryDataType } from '../types/HistoryData'; /** * 历史记录项组件的属性接口 */ interface HistoryItemProps { /** 历史记录数据项 */ item: HistoryDataType; /** 当前选中的历史记录ID列表 */ selectedIds: string[]; /** 选择状态变化回调函数 */ onSelectionChange: (sessionId: string, checked: boolean) => void; /** 点击历史记录项的回调函数 */ onClick: (sessionId: string, item: HistoryDataType) => void; /** 删除历史记录项的回调函数 */ onDeleteItem?: (sessionId: string) => Promise; /** 收藏/取消收藏的回调函数 */ onFavorite?: (sessionId: string, isFavorite: boolean) => void; /** 智能代理相关配置和回调 */ agent?: { /** 是否启用智能代理功能 */ enabled?: boolean; /** 搜索关键词回调 */ onSearch?: (keyword: string) => void; /** 智能代理收藏回调 */ onFavorite?: (sessionId: string, isFavorite: boolean) => void; /** 智能代理选择变化回调 */ onSelectionChange?: (selectedIds: string[]) => void; /** 加载更多数据回调 */ onLoadMore?: () => void; /** 是否正在加载更多数据 */ loadingMore?: boolean; }; /** 额外的渲染内容,接收历史记录项作为参数 */ extra?: (item: HistoryDataType) => React.ReactElement; /** 自定义操作区域 */ customOperationExtra?: React.ReactNode; /** 历史记录类型:聊天记录或任务记录 */ type?: 'chat' | 'task'; /** 正在运行的记录ID列表,这些记录将显示运行图标 */ runningId?: string[]; /** 格式化Item右下角日期函数 */ itemDateFormatter?: (date: number | string | Date) => string; } /** * 历史记录项组件 - 根据条件选择单行或多行模式 * * 这是一个智能组件,会根据传入的属性自动选择合适的显示模式: * - 单行模式:适用于简单的聊天记录,只显示标题和时间 * - 多行模式:适用于复杂的任务记录,显示图标、标题、描述和时间 * * 自动选择逻辑: * - 当 type 为 'task' 时,自动使用多行模式 * - 当同时存在 icon 和 description 时,自动使用多行模式 * - 其他情况使用单行模式 * * @param props - 组件属性 * @param props.item - 历史记录数据项 * @param props.selectedIds - 当前选中的历史记录ID列表 * @param props.onSelectionChange - 选择状态变化回调函数 * @param props.onClick - 点击历史记录项的回调函数 * @param props.onFavorite - 收藏/取消收藏的回调函数 * @param props.onDeleteItem - 删除历史记录项的回调函数 * @param props.agent - 智能代理相关配置和回调 * @param props.extra - 额外的渲染内容 * @param props.type - 历史记录类型,影响显示模式的选择 * * @returns 根据条件渲染的单行或多行历史记录项组件 * * @example * ```tsx * // 单行模式示例 * * * // 多行模式示例 * * ``` */ export declare const HistoryItem: React.NamedExoticComponent; export {};