import { AdapterErrorCode, BaseAdapterError } from "./baseAdapterError.mjs";
import { n as SchemQlAdapter } from "../schemql-oq-xONEF.mjs";
import SQLite from "node:sqlite";

//#region src/adapters/nodeSqliteAdapter.d.ts
declare class NodeSqliteAdapter<T = unknown> implements SchemQlAdapter<T> {
  private db;
  constructor(db: SQLite.DatabaseSync);
  queryAll: <TResult, TParams extends Record<string, any> | undefined = Record<string, any> | undefined>(sql: string) => (params?: TParams) => TResult[];
  queryFirst: <TResult, TParams extends Record<string, any> | undefined = Record<string, any> | undefined>(sql: string) => (params?: TParams) => TResult | undefined;
  queryFirstOrThrow: <TResult, TParams extends Record<string, any> | undefined = Record<string, any> | undefined>(sql: string) => (params?: TParams) => NonNullable<TResult>;
  queryIterate: <_TResult, TParams extends Record<string, any> | undefined = Record<string, any> | undefined>(sql: string) => (params?: TParams) => any;
}
declare class SchemQlAdapterError extends BaseAdapterError {
  static createFromNodeSqlite: (error: any) => SchemQlAdapterError;
}
//#endregion
export { NodeSqliteAdapter, SchemQlAdapterError, AdapterErrorCode as SchemQlAdapterErrorCode };