///
import { BehaviorSubject, Subject } from 'rxjs';
import { AccountMonitoringStatus, AlarmMode, AssetSession, LocationEvent, MessageDataType, MessageType, RingDeviceData, SocketIoMessage, TicketAsset, UserLocation } from './ring-types';
import { RingRestClient } from './rest-client';
import { RingCamera } from './ring-camera';
import { RingDevice } from './ring-device';
export declare class Location {
readonly locationDetails: UserLocation;
readonly cameras: RingCamera[];
readonly hasHubs: boolean;
private restClient;
private seq;
onMessage: Subject;
onDataUpdate: Subject;
onDeviceDataUpdate: import("rxjs").Observable;
onDeviceList: import("rxjs").Observable;
onDevices: import("rxjs").Observable;
onSessionInfo: import("rxjs").Observable;
onConnected: BehaviorSubject;
reconnecting: boolean;
connectionPromise?: Promise;
securityPanel?: RingDevice;
assets?: TicketAsset[];
receivedAssetDeviceLists: string[];
offlineAssets: string[];
readonly locationId: string;
constructor(locationDetails: UserLocation, cameras: RingCamera[], hasHubs: boolean, restClient: RingRestClient);
createConnection(): Promise;
getConnection(): Promise;
sendMessage(message: {
msg: MessageType;
datatype?: MessageDataType;
dst: string;
body?: any;
seq?: number;
}): Promise;
sendCommandToSecurityPanel(commandType: string, data?: {}): Promise;
setAlarmMode(alarmMode: AlarmMode, bypassSensorZids?: string[]): Promise;
getAlarmMode(): Promise;
soundSiren(): Promise;
silenceSiren(): Promise;
setLightGroup(groupId: string, on: boolean, durationSeconds?: number): void;
getNextMessageOfType(type: MessageType, src: string): Promise;
requestList(listType: MessageType, assetId: string): void;
getList(listType: MessageType, assetId: string): Promise;
getDevices(): RingDevice[] | Promise;
getRoomList(assetId: string): Promise;
getSecurityPanel(): Promise;
disarm(): Promise;
armHome(bypassSensorZids?: string[]): Promise;
armAway(bypassSensorZids?: string[]): Promise;
getEvents(limit?: number, olderThanId?: number | string): Promise<{
events: LocationEvent[];
meta: {
pagination_key: string;
};
} & import("./rest-client").ExtendedResponse>;
getAccountMonitoringStatus(): Promise;
private triggerAlarm;
triggerBurglarAlarm(): Promise;
triggerFireAlarm(): Promise;
}