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<void>;
    /** 收藏/取消收藏的回调函数 */
    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
 * // 单行模式示例
 * <HistoryItem
 *   item={chatItem}
 *   selectedIds={selectedIds}
 *   onSelectionChange={handleSelectionChange}
 *   onClick={handleClick}
 *   type="chat"
 * />
 *
 * // 多行模式示例
 * <HistoryItem
 *   item={taskItem}
 *   selectedIds={selectedIds}
 *   onSelectionChange={handleSelectionChange}
 *   onClick={handleClick}
 *   type="task"
 * />
 * ```
 */
export declare const HistoryItem: React.NamedExoticComponent<HistoryItemProps>;
export {};
