import { Message } from '../types'; import { DatabaseManager } from './db'; import { IEmbeddingService } from '../core/embedding-service'; export declare class MessagesDAO { private dbManager; private embeddingService; private searchEngine; constructor(dbManager: DatabaseManager, embeddingService: IEmbeddingService); private get db(); create(input: Partial & { threadId: string; role: string; content: string; }): Promise; findByThreadId(threadId: string, options?: { limit?: number; offset?: number; }): Message[]; /** * Semantically search for messages */ searchSimilar(query: string, options?: { threadId?: string; topK?: number; minScore?: number; }): Promise>; deleteByThreadId(threadId: string): void; private updateThreadMessageCount; private mapRowToMessage; }