import type * as otel from '@opentelemetry/api'; import { type DebugInfo, type MutableDebugInfo, type PreparedBindValues, type PreparedStatement, type SqliteDb, type SqliteDbChangeset, type SqliteDbSession } from '@livestore/common'; export declare const emptyDebugInfo: () => DebugInfo; /** * This class is mostly adding result caching around a SqliteDb which is used to speed up * SQLite queries when used through the reactivity graph. */ export declare class SqliteDbWrapper implements SqliteDb { _tag: "SqliteDb"; private cachedStmts; private tablesUsedCache; private resultCache; private db; private otelTracer; private otelRootSpanContext; private tablesUsedStmt; debugInfo: MutableDebugInfo; constructor({ db, otel, }: { db: SqliteDb; otel: { tracer: otel.Tracer; rootSpanContext: otel.Context; }; }); get debug(): import("@livestore/common").SqliteDebugInfo; get metadata(): any; prepare(queryStr: string): PreparedStatement; import(data: Uint8Array | SqliteDb): void; close(): void; destroy(): void; session(): SqliteDbSession; makeChangeset(data: Uint8Array): SqliteDbChangeset; txn(callback: () => TRes): TRes; withChangeset(callback: () => TRes): { result: TRes; changeset: { _tag: 'sessionChangeset'; data: Uint8Array; debug: any; } | { _tag: 'no-op'; }; }; rollback(changeset: Uint8Array): void; getTablesUsed(query: string): Set; cachedExecute(queryStr: string, bindValues?: PreparedBindValues, options?: { hasNoEffects?: boolean; otelContext?: otel.Context; writeTables?: ReadonlySet; onRowsChanged?: (rowsChanged: number) => void; }): { durationMs: number; }; execute: { (queryStr: string, bindValues?: PreparedBindValues, options?: { onRowsChanged?: (rowsChanged: number) => void; }): void; (queryBuilder: import("@livestore/common").QueryBuilder.Any, options?: { onRowsChanged?: (rowsChanged: number) => void; }): void; }; select: { (queryStr: string, bindValues?: PreparedBindValues): ReadonlyArray; (queryBuilder: import("@livestore/common").QueryBuilder): T; }; cachedSelect(queryStr: string, bindValues?: PreparedBindValues, options?: { queriedTables?: ReadonlySet; skipCache?: boolean; otelContext?: otel.Context; }): ReadonlyArray; export(): Uint8Array; } //# sourceMappingURL=SqliteDbWrapper.d.ts.map