/** * DeletionService - Handle selective deletion of conversations by topic/keyword * Uses semantic + FTS5 search to find matching conversations */ import type Database from "better-sqlite3"; import { type BackupMetadata } from "./BackupManager.js"; import type { ConversationStorage } from "./ConversationStorage.js"; import type { SemanticSearch } from "../search/SemanticSearch.js"; /** * Deletion preview - shows what would be deleted */ export interface DeletionPreview { conversationIds: string[]; conversations: Array<{ id: string; session_id: string; created_at: number; message_count: number; }>; totalMessages: number; totalDecisions: number; totalMistakes: number; summary: string; } /** * Deletion result - what was actually deleted */ export interface DeletionResult { backup: BackupMetadata; deleted: { conversations: number; messages: number; decisions: number; mistakes: number; toolUses: number; fileEdits: number; }; summary: string; } /** * DeletionService class */ export declare class DeletionService { private db; private backupManager; private storage; private semanticSearch; constructor(db: Database.Database, storage: ConversationStorage, semanticSearch?: SemanticSearch | null); /** * Preview what would be deleted for given keywords/topics */ previewDeletionByTopic(keywords: string[], projectPath: string): Promise; /** * Delete conversations by topic/keywords with automatic backup */ forgetByTopic(keywords: string[], projectPath: string): Promise; /** * Find conversations matching keywords/topics using search */ private findConversationsByTopic; /** * Count helpers */ private countMessages; private countDecisions; private countMistakes; private countToolUses; private countFileEdits; } //# sourceMappingURL=DeletionService.d.ts.map