import { DatabaseObject, DatabaseResult } from "../definitions/database-definition"; import { DatabaseCreatorContract } from "../definitions/database-creator-contract"; import { DatabaseConfig } from "../definitions/database-config"; import { WebSqlTransactionInterface } from "../definitions/websql-interface"; export declare abstract class BaseDatabaseAdapter implements DatabaseCreatorContract { private _singleTransactionManager; constructor(); create(config: DatabaseConfig): Promise; protected abstract createDatabaseNative(config: DatabaseConfig): Promise; protected abstract convertToExecuteSql(databaseNative: DatabaseNativeInterface): (sql: string, values: any) => Promise; protected abstract convertToTransaction(databaseNative: DatabaseNativeInterface): (fn: (transaction: WebSqlTransactionInterface) => void) => Promise; protected abstract convertToSqlBatch(databaseNative: DatabaseNativeInterface): (sqlStatements: Array<(string | string[] | any)>) => Promise; protected convertDatabaseNativeToDatabaseObject(databaseNative: DatabaseNativeInterface): DatabaseObject; protected injectManagedTransactionInDatabase(databaseObject: DatabaseObject): DatabaseObject; }