import type { BatchItem } from "../batch.cjs"; import { entityKind } from "../entity.cjs"; import type { Logger } from "../logger.cjs"; import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.cjs"; import { type Query } from "../sql/sql.cjs"; import type { SQLiteAsyncDialect } from "../sqlite-core/dialect.cjs"; import { SQLiteTransaction } from "../sqlite-core/index.cjs"; import type { SelectedFieldsOrdered } from "../sqlite-core/query-builders/select.types.cjs"; import type { PreparedQueryConfig as PreparedQueryConfigBase, SQLiteExecuteMethod, SQLiteTransactionConfig } from "../sqlite-core/session.cjs"; import { SQLitePreparedQuery, SQLiteSession } from "../sqlite-core/session.cjs"; export interface SQLiteD1SessionOptions { logger?: Logger; } type PreparedQueryConfig = Omit; export declare class SQLiteD1Session, TSchema extends TablesRelationalConfig> extends SQLiteSession<'async', D1Result, TFullSchema, TSchema> { private client; private schema; private options; static readonly [entityKind]: string; private logger; constructor(client: D1Database, dialect: SQLiteAsyncDialect, schema: RelationalSchemaConfig | undefined, options?: SQLiteD1SessionOptions); prepareQuery(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => unknown): D1PreparedQuery; batch[] | readonly BatchItem<'sqlite'>[]>(queries: T): Promise; extractRawAllValueFromBatchResult(result: unknown): unknown; extractRawGetValueFromBatchResult(result: unknown): unknown; extractRawValuesValueFromBatchResult(result: unknown): unknown; transaction(transaction: (tx: D1Transaction) => T | Promise, config?: SQLiteTransactionConfig): Promise; } export declare class D1Transaction, TSchema extends TablesRelationalConfig> extends SQLiteTransaction<'async', D1Result, TFullSchema, TSchema> { static readonly [entityKind]: string; transaction(transaction: (tx: D1Transaction) => Promise): Promise; } export declare class D1PreparedQuery extends SQLitePreparedQuery<{ type: 'async'; run: D1Response; all: T['all']; get: T['get']; values: T['values']; execute: T['execute']; }> { private logger; private _isResponseInArrayMode; static readonly [entityKind]: string; constructor(stmt: D1PreparedStatement, query: Query, logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => unknown); run(placeholderValues?: Record): Promise; all(placeholderValues?: Record): Promise; mapAllResult(rows: unknown, isFromBatch?: boolean): unknown; get(placeholderValues?: Record): Promise; mapGetResult(result: unknown, isFromBatch?: boolean): unknown; values(placeholderValues?: Record): Promise; } export {};