import type { MaybePromise, StoreLogger } from "../../types.js"; import type { SqliteDatabase } from "../../storage/sqlite/types.js"; export interface StoreRuntimeSqliteOptions { database?: SqliteDatabase; path?: string; indexes?: readonly RuntimeSqliteIndex[]; migrations?: readonly RuntimeSqliteMigration[]; slowQueryMs?: number; logOperations?: boolean; logSql?: boolean; resultMode?: "throw" | "envelope"; logger?: StoreLogger; metrics?(event: RuntimeSqliteMetricsEvent): MaybePromise; } export interface RuntimeSqliteMetricsEvent { elapsedMs: number; operation?: string; name?: string; success: boolean; rowCount: number; } export interface RuntimeSqliteIndex { table: string; name?: string; expression: string; } export type RuntimeSqliteMigration = (api: RuntimeSqliteMigrationApi) => MaybePromise; export interface RuntimeSqliteMigrationApi { query(sql: string, params?: readonly unknown[]): Promise>; } export interface StoreRuntimeSqlite { query>(sql: string, params?: readonly unknown[], options?: RuntimeSqliteQueryOptions): Promise>; init(): Promise; } export type RuntimeSqliteQueryResult> = { ok?: true; rows: T[]; rowCount?: number; } | { ok: false; error: true; error_code: string; message: string; rows: []; rowCount: 0; }; export interface RuntimeSqliteQueryOptions { operation?: "read" | "write" | "ddl" | "migration"; name?: string; allowLiterals?: boolean; } //# sourceMappingURL=types.d.ts.map