import { Query, SQL } from 'drizzle-orm/sql'; import { SQLiteDialect } from './dialect'; import { SelectFieldsOrdered } from './operations'; export interface PreparedQueryConfig { type: 'sync' | 'async'; run: unknown; all: unknown[]; get: unknown; values: unknown[][]; } export declare abstract class PreparedQuery { abstract run(placeholderValues?: Record): ResultKind; abstract all(placeholderValues?: Record): ResultKind; abstract get(placeholderValues?: Record): ResultKind; abstract values(placeholderValues?: Record): ResultKind; } export declare abstract class SQLiteSession { protected dialect: SQLiteDialect; constructor(dialect: SQLiteDialect); abstract prepareQuery(query: Query, fields?: SelectFieldsOrdered): PreparedQuery; prepareOneTimeQuery(query: Query, fields?: SelectFieldsOrdered): PreparedQuery; abstract exec(query: string): void; run(query: SQL): ResultKind; all(query: SQL): ResultKind; get(query: SQL): ResultKind; values(query: SQL): ResultKind; } interface ResultHKT { readonly $brand: 'ResultHKT'; readonly config: unknown; readonly type: unknown; } interface SyncResultHKT extends ResultHKT { readonly type: this['config']; } interface AsyncResultHKT extends ResultHKT { readonly type: Promise; } export declare type ResultKind = (('sync' extends TType ? SyncResultHKT : AsyncResultHKT) & { readonly config: TResult; })['type']; export {}; //# sourceMappingURL=session.d.ts.map