import type { Database } from 'better-sqlite3'; import type { IDatabaseConnection, QueryResult } from '../core/interfaces.js'; export declare class NativeConnectionManager implements IDatabaseConnection { private db; private readonly dbPath; private initialized; constructor(dbPath: string); initialize(): Promise; private migrateSchema; applyTeamSchema(): void; /** * @internal QUARANTINED * Maps better-sqlite3 results to the legacy `{ columns: string[], values: unknown[][] }[]` shape * Because better-sqlite3 returns arrays of objects instantly, we map them out. */ exec(sql: string, params?: unknown[]): QueryResult[]; /** * @internal QUARANTINED * Wrapper for INSERT/UPDATE/DELETE */ run(sql: string, params?: unknown[]): void; scheduleSave(): void; flushSave(): void; close(): void; private ensureDb; /** * Installs a bounded LRU prepared-statement cache on `db.prepare()` so all * callers benefit from statement reuse without schema-invalidation leaks. */ private installStatementCache; pragma(command: string): void; /** * @internal * Restricted to internal SQLite components only */ getNativeDb(): Database; getDbPath(): string; getBackupsDir(): string; closeDbBeforeRestore(): void; setDbAndInitialized(db: unknown): void; getVectorMetadata(key: string): string | undefined; setVectorMetadata(key: string, value: string): void; createVecTable(dimensions: number): void; dropVecTable(): void; } //# sourceMappingURL=native-connection.d.ts.map