///
import * as events from 'events';
import * as Tp from 'thingpedia';
import { AbstractDatabase, SyncTables } from '.';
import SyncManager from '../sync/manager';
export default class SyncDatabase extends events.EventEmitter {
private _platform;
private _table;
private _syncManager;
private _debug;
private _connectedHandler;
constructor(platform: Tp.BasePlatform, db: AbstractDatabase, tablename: K, syncManager: SyncManager);
open(): Promise;
close(): Promise;
private _onConnected;
private _handleMessage;
private _sendMessage;
private _sendMessageToAll;
private _forceSyncWith;
sync(targetTier: string): void;
private _handleConflict;
getAll(): Promise;
getOne(uniqueId: string): Promise;
insertOne(uniqueId: string, row: Omit): Promise;
deleteOne(uniqueId: string): Promise;
private objectAdded;
private objectDeleted;
private _reportChange;
private _makeRow;
private _reportChanges;
private _handleChange;
private _handleSyncReply;
private _handleSyncRequest;
private _handleForceSyncData;
private _handleForceSync;
}