import { DatabaseConfig } from "../definitions/database-config";
import { DatabaseResult } from "../definitions/database-definition";
import { SQLite3Interface, SQLite3ObjectInterface } from "../definitions/sqlite3-interface";
import { BaseDatabaseAdapter } from "./base-database.adapter";
import { WebSqlTransactionInterface } from "../definitions/websql-interface";
/**
 * Adapter for https://www.npmjs.com/package/sqlite3
 *
 * Example usage:
 *
 * `new SQLite3DatabaseAdapter(sqlite3.Database);`
 * @export
 * @class SQLite3DatabaseAdapter
 * @implements {DatabaseCreatorContract}
 */
export declare class SQLite3DatabaseAdapter extends BaseDatabaseAdapter<SQLite3ObjectInterface> {
    private _sqlite;
    constructor(_sqlite: SQLite3Interface);
    protected createDatabaseNative(config: DatabaseConfig): Promise<SQLite3ObjectInterface>;
    protected convertToExecuteSql(databaseNative: SQLite3ObjectInterface): (sql: string, values: any) => Promise<DatabaseResult>;
    protected convertToTransaction(databaseNative: SQLite3ObjectInterface): (fn: (transaction: WebSqlTransactionInterface) => void) => Promise<any>;
    protected convertToSqlBatch(databaseNative: SQLite3ObjectInterface): (sqlStatements: any[]) => Promise<DatabaseResult[]>;
    private executeSql;
    private batch;
    private executeBatchs;
    private executeBatch;
    private query;
    private isSelect;
    private createDatabaseResult;
    private beginTransaction;
    private commitTransaction;
}
