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 } from "../database"; import type { PostgresBackendConfig } from "../config"; export declare class PgDatabaseProvider implements DatabaseProvider { readonly backendType: "postgres"; private pool; private dim; private config; constructor(config: PostgresBackendConfig); initialize(): Promise; /** Ensure the IVFFlat vector index exists (requires data in the table). */ /** Ensure the HNSW halfvec vector index exists. */ ensureVectorIndex(): Promise; 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; private toSessionMeta; private toQueryResult; } //# sourceMappingURL=pg-provider.d.ts.map