import React from "react"; import type { ActionType, SimpleActionType } from "@next-bricks/basic/mini-actions"; import type { ConversationState } from "../shared/interfaces.js"; import type { SidebarLink } from "./interfaces.js"; export interface HistoryItem { conversationId: string; title: string; startTime: number; state?: ConversationState; } export interface GroupedHistory { title: string; items: HistoryItem[]; } export interface ActionClickDetail { action: SimpleActionType & { project?: Project; }; item: HistoryItem; project?: Project; } export interface ProjectActionClickDetail { action: SimpleActionType; project: Project; } export interface PersonalActionClickDetail { action: SimpleActionType; } export interface Project { /** 实例ID */ instanceId: string; /** 项目名称 */ name: string; /** 项目描述 */ description: string; /** 状态 */ state: "active" | "inactive"; /** 默认数字人ID */ defaultAiEmployeeId: string; /** 创建者 */ creator: string; /** 创建时间 */ ctime: string; /** 修改时间 */ mtime: string; /** 修改者 */ modifier: string; } export interface ChatHistoryProps { showProjects?: boolean; historyUrlTemplate?: string; historyActions?: ActionType[]; projectUrlTemplate?: string; projectActions?: ActionType[]; canAddProject?: boolean; myLinks?: SidebarLink[]; onActionClick: (detail: ActionClickDetail) => void; onHistoryClick: () => void; onProjectActionClick: (detail: ProjectActionClickDetail) => void; onAddProject: () => void; } export interface ChatHistoryRef { pull: () => void; removeProject?: (projectId: string) => void; addProject?: (project: Project) => void; moveConversation?: (conversationId: string) => void; } export declare const ChatHistory: React.ForwardRefExoticComponent>; export declare function LowLevelChatHistory({ showProjects, historyActions, historyUrlTemplate, projectUrlTemplate, projectActions, canAddProject, myLinks, onActionClick, onHistoryClick, onProjectActionClick, onAddProject, }: ChatHistoryProps, ref: React.Ref): React.JSX.Element;