import { NativeDataBridgeContract } from './NativeDataBridgeContract'; import { EmitterSubscription } from 'react-native'; export interface InitialiseCallback { (data?: any): void; } export interface DataResultCallback { (data: T): void; } export interface DataErrorCallback { (data: Error): void; } export declare abstract class DataBridgeWrapper { private dataBridge; private currentState; private callbacks; constructor(dataBridge: NativeDataBridgeContract, _name: string); private initialiseInternal(dataInitCallback); private addCallback(dataInitCallback); initialise(callback: InitialiseCallback): void; addEmitterListener(eventType: string, listener: (...args: any[]) => any, context?: any): EmitterSubscription; query(tableName: string, callback: DataResultCallback, columns?: string[], selection?: string, selectionArgs?: any[], groupBy?: string, having?: string, orderBy?: string): void; querySync(tableName: string, columns?: string[], selection?: string, selectionArgs?: any[], groupBy?: string, having?: string, orderBy?: string): Promise; queryWithLimit(tableName: string, limit: number, columns?: string[], selection?: string, selectionArgs?: any[], groupBy?: string, having?: string, orderBy?: string, callback?: DataResultCallback): void; startTransaction(callback?: DataResultCallback): void; endTransaction(callback?: DataResultCallback): void; setTransactionSuccessful(callback?: DataResultCallback): void; deleteRow(tableName: string, selectionCriteria?: string, selectionArgs?: any[], callback?: DataResultCallback): void; deleteRowSync(tableName: string, selectionCriteria?: string, selectionArgs?: any[]): Promise; execSQL(sqlStatement: string, forceExecution: boolean | undefined, callback: DataResultCallback): void; execSQLSync(sqlStatement: string): Promise; rawQuery(sql?: string, selectionArgs?: any[], callback?: DataResultCallback): void; setParallelThread(corePoolSize: number, maximumPoolSize: number, keepAliveTime: number): void; beginStreamingData(table: string, limit: number, streamId: string, columns?: string[], selection?: string, selectionArgs?: any[], groupBy?: string, having?: string, orderBy?: string, callback?: DataResultCallback): void; nextData(streamId: string, start: number, count: number, callback?: DataResultCallback): void; endData(streamId: string, callback?: DataResultCallback): void; update(table: string, values: { [key: string]: any; }, whereClause?: string, whereArgs?: any[], callback?: DataResultCallback): void; updateSync(table: string, values: { [key: string]: any; }, whereClause?: string, whereArgs?: any[], _callback?: DataResultCallback): Promise; insertWithOnConflict(table: string, initialValues: { [key: string]: any; }, conflictAlgorithm: number, nullColumnHack?: string, callback?: DataResultCallback): void; insertWithOnConflictSync(table: string, initialValues: { [key: string]: any; }, conflictAlgorithm: number, nullColumnHack?: string): Promise; bulkInsertWithOnConflict(table: string, initialColumns: Array, initialValues: Array>, conflictAlgorithm: number, nullColumnHack?: string, callback?: DataResultCallback): void; bulkInsertWithOnConflictSync(table: string, initialColumns: Array, initialValues: Array>, conflictAlgorithm: number, nullColumnHack?: string): Promise; addListener(eventId: string, callback?: DataResultCallback): void; addListenerForSpecificTable(eventId: string, tableName: string, callback?: DataResultCallback): void; addListenerForSpecificTableSync(eventId: string, tableName: string): Promise; removeListener(eventId: string, callback?: DataResultCallback): void; }