import type { DatabaseProvider, QueryFilters } from "./types"; import type { DocumentChunk, SessionMeta, QueryResult, MessageRow, ToolCallRow, AnalyticsFilter, ToolUsageStat, MessageStat, OverviewStats, SessionAnalytics } from "../types"; import type { SessionRow, SessionFilter, ChunkRow, Database } from "../database"; import type { SqliteBackendConfig } from "../config"; /** * SQLite implementation of DatabaseProvider. * Thin async wrapper around the existing synchronous database.ts functions. */ export declare class SqliteDatabaseProvider implements DatabaseProvider { readonly backendType: "sqlite"; private db; constructor(config: SqliteBackendConfig); /** Expose the underlying SQLite connection for edge cases (e.g. raw SQL in migration). */ getRawDb(): Database; getSessionMeta(sessionId: string): Promise; upsertSessionMeta(meta: SessionMeta): Promise; insertChunks(chunks: DocumentChunk[], embeddings: number[][]): Promise; insertMessages(rows: MessageRow[]): Promise; insertToolCalls(rows: ToolCallRow[]): Promise; deleteToolCallsBySession(sessionId: string): Promise; queryByEmbedding(queryEmbedding: number[], topK: number, filters: QueryFilters): Promise; queryByKeyword(queryText: string, topK: number, filters: QueryFilters): Promise; queryHybrid(queryEmbedding: number[], queryText: string, topK: number, filters: QueryFilters): Promise; getChunksByUrl(url: string, startIndex?: number, endIndex?: number): Promise; getSessionContext(sessionId: string, chunkId: string, windowSize?: number): Promise; listSessionUrls(sessionId: string): Promise; getSessionChunksOrdered(sessionId: string): Promise; listSessions(filter?: SessionFilter): Promise; deleteSession(sessionId: string): Promise; deleteSessionsOlderThan(olderThanMs: number): Promise<{ sessions: number; chunks: number; }>; getToolUsageStats(filter?: AnalyticsFilter): Promise; getMessageStats(filter?: AnalyticsFilter): Promise; getOverviewStats(filter?: AnalyticsFilter): Promise; getSessionAnalytics(sessionId: string): Promise; checkpoint(): Promise; close(): Promise; } //# sourceMappingURL=sqlite-provider.d.ts.map