///
import { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';
import { AccountMonitoringStatus, AlarmMode, AssetSession, MessageDataType, MessageType, RingDeviceData, SocketIoMessage, TicketAsset, UserLocation, CameraEventResponse, CameraEventOptions, HistoryOptions, RingDeviceHistoryEvent, LocationModeResponse, LocationModeSettings, LocationMode, LocationModeSharing, LocationModeSettingsResponse, LocationModeInput } 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 options: {
hasHubs: boolean;
hasAlarmBaseStation: boolean;
locationModePollingSeconds?: number;
};
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;
onLocationMode: ReplaySubject;
private onLocationModeRequested;
reconnecting: boolean;
connectionPromise?: Promise;
securityPanel?: RingDevice;
assets?: TicketAsset[];
receivedAssetDeviceLists: string[];
offlineAssets: string[];
hasHubs: boolean;
hasAlarmBaseStation: boolean;
constructor(locationDetails: UserLocation, cameras: RingCamera[], options: {
hasHubs: boolean;
hasAlarmBaseStation: boolean;
locationModePollingSeconds?: number;
}, restClient: RingRestClient);
get id(): string;
get locationId(): string;
get name(): string;
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;
getHistory(options?: HistoryOptions): Promise;
getCameraEvents(options?: CameraEventOptions): Promise;
getAccountMonitoringStatus(): Promise;
private triggerAlarm;
triggerBurglarAlarm(): Promise;
triggerFireAlarm(): Promise;
getLocationMode(): Promise;
setLocationMode(mode: LocationModeInput): Promise;
disableLocationModes(): Promise;
getLocationModeSettings(): Promise;
setLocationModeSettings(settings: LocationModeSettings): Promise;
getLocationModeSharing(): Promise;
setLocationModeSharing(sharedUsersEnabled: boolean): Promise;
supportsLocationModeSwitching(): Promise;
}