/* eslint-disable typescript-sort-keys/interface */ import { BatchTaskResult } from '@/types/service'; import { ChatTopic, TopicRankItem } from '@/types/topic'; export interface CreateTopicParams { favorite?: boolean; messages?: string[]; sessionId?: string | null; title: string; } export interface QueryTopicParams { current?: number; pageSize?: number; sessionId: string; } export interface ITopicService { createTopic(params: CreateTopicParams): Promise; batchCreateTopics(importTopics: ChatTopic[]): Promise; cloneTopic(id: string, newTitle?: string): Promise; getTopics(params: QueryTopicParams): Promise; getAllTopics(): Promise; countTopics(params?: { endDate?: string; range?: [string, string]; startDate?: string; }): Promise; rankTopics(limit?: number): Promise; searchTopics(keyword: string, sessionId?: string): Promise; updateTopic(id: string, data: Partial): Promise; removeTopic(id: string): Promise; removeTopics(sessionId: string): Promise; batchRemoveTopics(topics: string[]): Promise; removeAllTopic(): Promise; }