/// import { ActiveDing, CameraData, CameraEventOptions, CameraEventResponse, CameraHealth, HistoryOptions } from './ring-types'; import { RingRestClient } from './rest-client'; import { BehaviorSubject, Subject } from 'rxjs'; import { SrtpOptions } from './rtp-utils'; import { FfmpegOptions, SipSession } from './sip-session'; import { SipOptions } from './sip-call'; export declare function getBatteryLevel(data: Pick): number | null; export declare function getSearchQueryString(options: CameraEventOptions | (HistoryOptions & { accountId: string; })): string; export declare class RingCamera { private initialData; isDoorbot: boolean; private restClient; id: number; deviceType: import("./ring-types").RingCameraKind; model: string; onData: BehaviorSubject; hasLight: boolean; hasSiren: boolean; hasBattery: boolean; onRequestUpdate: Subject; onRequestActiveDings: Subject; onNewDing: Subject; onActiveDings: BehaviorSubject; onDoorbellPressed: import("rxjs").Observable; onMotionDetected: import("rxjs").Observable; onBatteryLevel: import("rxjs").Observable; onInHomeDoorbellStatus: import("rxjs").Observable; constructor(initialData: CameraData, isDoorbot: boolean, restClient: RingRestClient); updateData(update: CameraData): void; requestUpdate(): void; get data(): CameraData; get name(): string; get activeDings(): ActiveDing[]; get batteryLevel(): number | null; get hasLowBattery(): boolean; get isOffline(): boolean; get hasInHomeDoorbell(): boolean; doorbotUrl(path?: string): string; setLight(on: boolean): Promise; setSiren(on: boolean): Promise; setInHomeDoorbell(on: boolean): Promise; getHealth(): Promise; startVideoOnDemand(): Promise<("" & import("./rest-client").ExtendedResponse) | (ActiveDing & import("./rest-client").ExtendedResponse)>; private pollForActiveDing; private expiredDingIds; getSipConnectionDetails(): Promise; private removeDingById; processActiveDing(ding: ActiveDing): void; getEvents(options: CameraEventOptions): Promise; getRecordingUrl(dingIdStr: string, { transcoded }?: { transcoded?: boolean | undefined; }): Promise; private isTimestampInLifeTime; private getSnapshotTimestamp; private refreshSnapshotInProgress?; private snapshotLifeTime; private lastSnapshotTimestampLocal; private lastSnapshotPromise?; private refreshSnapshot; getSnapshot(allowStale?: boolean): Promise; getSipOptions(): Promise; getUpdatedSipOptions(expiredDingId: string): Promise; createSipSession(srtpOption?: { audio?: SrtpOptions; video?: SrtpOptions; }): Promise; recordToFile(outputPath: string, duration?: number): Promise; streamVideo(ffmpegOptions: FfmpegOptions): Promise; subscribeToDingEvents(): Promise; unsubscribeFromDingEvents(): Promise; subscribeToMotionEvents(): Promise; unsubscribeFromMotionEvents(): Promise; }