import { DatabaseConfig } from "../definitions/database-config";
import { DatabaseResult } from "../definitions/database-definition";
import { BaseDatabaseAdapter } from "./base-database.adapter";
import { WebSqlTransactionInterface } from "../definitions/websql-interface";
import { SQLiteObjectInterface } from "../definitions";
export declare abstract class DatabaseAbstractSQLiteService extends BaseDatabaseAdapter<SQLiteObjectInterface> {
    protected abstract sqliteCreate(config: DatabaseConfig): Promise<SQLiteObjectInterface>;
    protected createDatabaseNative(config: DatabaseConfig): Promise<SQLiteObjectInterface>;
    protected convertToExecuteSql(databaseNative: SQLiteObjectInterface): (sql: string, values: any) => Promise<DatabaseResult>;
    protected convertToTransaction(databaseNative: SQLiteObjectInterface): (fn: (transaction: WebSqlTransactionInterface) => void) => Promise<any>;
    protected convertToSqlBatch(databaseNative: SQLiteObjectInterface): (sqlStatements: any[]) => Promise<DatabaseResult[]>;
}
