export default class SyncDatabase extends events.EventEmitter {
    constructor(platform: any, tablename: any, fields: any, tierManager: any);
    _platform: any;
    _tierManager: any;
    _sqldb: SQLDatabase;
    _syncing: boolean;
    _debug: boolean;
    open(): Promise<void>;
    _connectedHandler: ((tier: any) => void) | undefined;
    close(): Promise<void>;
    _onConnected(tier: any): void;
    _handleMessage(fromTier: any, msg: any): void;
    _sendMessage(targetTier: any, msg: any): void;
    _sendMessageToAll(msg: any): void;
    _forceSyncWith(targetTier: any): void;
    sync(targetTier: any): void;
    _handleConflict(withTier: any): void;
    getAll(): any;
    getOne(uniqueId: any): any;
    insertOne(uniqueId: any, row: any): any;
    deleteOne(uniqueId: any): any;
    objectAdded(uniqueId: any, row: any): void;
    objectDeleted(uniqueId: any): void;
    _reportChange(fromTier: any, uniqueId: any, lastModified: any, row: any, done: any): void;
    _makeRow(change: any): {} | undefined;
    _reportChanges(fromTier: any, changes: any, done: any): void;
    _handleChange(fromTier: any, uniqueId: any, lastModified: any, row: any): void;
    _handleSyncReply(fromTier: any, lastModified: any, changes: any): void;
    _handleSyncRequest(fromTier: any, lastModified: any, pushedChanges: any): void;
    _handleForceSyncData(fromTier: any, data: any): void;
    _handleForceSync(fromTier: any): void;
}
import * as events from "events";
declare class SQLDatabase {
    constructor(platform: any, tablename: any, fields: any);
    tablename: any;
    fields: any;
    _discriminator: any;
    _db: {
        connect: () => any;
        withClient: (callback: any) => any;
        withTransaction: (callback: any) => any;
    };
    _getLastModifiedInternal(client: any): any;
    getAll(): any;
    getOne(uniqueId: any): any;
    getRaw(): any;
    getChangesAfter(lastModified: any): any;
    _handleChangesInternal(client: any, changes: any): Promise<[any, any, any, any, any, any, any, any, any, any]>;
    handleChanges(changes: any): any;
    syncAt(lastModified: any, pushedChanges: any): any;
    _insertInternal(client: any, uniqueId: any, lastModified: any, row: any): Promise<any>;
    replaceAll(data: any): any;
    _insertIfRecentInternal(client: any, uniqueId: any, lastModified: any, row: any): any;
    insertIfRecent(uniqueId: any, lastModified: any, row: any): any;
    insertOne(uniqueId: any, row: any): any;
    _deleteInternal(client: any, uniqueId: any, lastModified: any): Promise<any>;
    _deleteIfRecentInternal(client: any, uniqueId: any, lastModified: any): any;
    deleteIfRecent(uniqueId: any, lastModified: any): any;
    deleteOne(uniqueId: any): any;
}
export {};
