import { Socket as SocketIOSocket } from 'socket.io-client'; import { BehaviorSubject, Observable, 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 { RingChime } from './ring-chime'; import { RingDevice } from './ring-device'; import { RingIntercom } from './ring-intercom'; import { Subscribed } from './subscribed'; export declare class Location extends Subscribed { readonly locationDetails: UserLocation; readonly cameras: RingCamera[]; readonly chimes: RingChime[]; readonly intercoms: RingIntercom[]; readonly options: { hasHubs: boolean; hasAlarmBaseStation: boolean; locationModePollingSeconds?: number; }; private restClient; private seq; onMessage: Subject; onDataUpdate: Subject; onDeviceDataUpdate: Observable; onDeviceList: Observable; onDevices: Observable; onSessionInfo: Observable; onConnected: BehaviorSubject; onLocationMode: ReplaySubject; private onLocationModeRequested; reconnecting: boolean; private disconnected; connectionPromise?: Promise; securityPanel?: RingDevice; assets?: TicketAsset[]; receivedAssetDeviceLists: string[]; offlineAssets: string[]; hasHubs: boolean; hasAlarmBaseStation: boolean; constructor(locationDetails: UserLocation, cameras: RingCamera[], chimes: RingChime[], intercoms: RingIntercom[], 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?: Record): Promise; setAlarmMode(alarmMode: AlarmMode, bypassSensorZids?: string[]): Promise; getAlarmMode(): Promise; soundSiren(): Promise; silenceSiren(): Promise; setLightGroup(groupId: string, on: boolean, durationSeconds?: number): Promise; getNextMessageOfType(type: MessageType, src: string): Promise; requestList(listType: MessageType, assetId: string): Promise; getList(listType: MessageType, assetId: string): Promise; getDevices(): 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; enableLocationModes(): Promise; getLocationModeSettings(): Promise; setLocationModeSettings(settings: LocationModeSettings): Promise; getLocationModeSharing(): Promise; setLocationModeSharing(sharedUsersEnabled: boolean): Promise; supportsLocationModeSwitching(): Promise; disconnect(): void; }