import * as hrana from "@libsql/hrana-client"; import type { InStatement, ResultSet, Transaction, TransactionMode, InArgs } from "@libsql/core/api"; import type { SqlCache } from "./sql_cache.js"; export declare abstract class HranaTransaction implements Transaction { #private; /** @private */ constructor(mode: TransactionMode, version: hrana.ProtocolVersion); /** @private */ abstract _getStream(): hrana.Stream; /** @private */ abstract _getSqlCache(): SqlCache; abstract close(): void; abstract get closed(): boolean; execute(stmt: InStatement): Promise; batch(stmts: Array): Promise>; executeMultiple(sql: string): Promise; rollback(): Promise; commit(): Promise; } export declare function executeHranaBatch(mode: TransactionMode, version: hrana.ProtocolVersion, batch: hrana.Batch, hranaStmts: Array, disableForeignKeys?: boolean): Promise>; export declare function stmtToHrana(stmt: InStatement | [string, InArgs?]): hrana.Stmt; export declare function resultSetFromHrana(hranaRows: hrana.RowsResult): ResultSet; export declare function mapHranaError(e: unknown): unknown;