///
import * as Tp from 'thingpedia';
import * as events from 'events';
export declare const Tier: {
GLOBAL: string;
PHONE: string;
SERVER: string;
CLOUD: string;
DESKTOP: string;
};
export default class SyncManager extends events.EventEmitter {
private _platform;
private _cloudUrl;
ownTier: string;
ownIdentity: string;
private _serverSocket;
private _clientConfigurations;
private _clientSockets;
private _backoffs;
private _reconnectTimeouts;
private _handlers;
constructor(platform: Tp.BasePlatform, cloudUrl: string);
get ownAddress(): string;
private _backoffTimer;
tryConnect(address: string): Promise;
private _tryOpenClient;
private _tryOpenServer;
addCloudConfig(): void;
removeCloudConfig(): void;
private _addAllServerConfigs;
addServerConfig(identity: string, config: {
url: string;
}): void;
removeServerConfig(identity: string): void;
start(): Promise;
stop(): Promise;
registerHandler(target: string, handler: (from: string, msg: any) => void): void;
private _routeMessage;
isClientTier(address: string): boolean;
isConnected(address: string): boolean;
closeConnection(address: string): Promise;
getClientConnections(): string[];
sendTo(address: string, msg: unknown): Promise;
sendToAll(msg: unknown): void;
}