@koush/ring-client-api
Version:
Unofficial API for Ring doorbells, cameras, security alarm system and smart lighting
35 lines (34 loc) • 1.13 kB
TypeScript
import { Observable, ReplaySubject } from 'rxjs';
import { RingCamera } from './ring-camera';
import { Subscribed } from './subscribed';
export interface InitializationMessage {
method: 'initialization';
text: 'Done';
}
export interface OfferMessage {
method: 'sdp';
sdp: string;
type: 'offer';
}
export interface IceCandidateMessage {
method: 'ice';
ice: string;
mlineindex: number;
}
export declare type LiveCallNegotiationMessage = InitializationMessage | OfferMessage | IceCandidateMessage;
export declare class LiveCallNegotiation extends Subscribed {
private sessionId;
camera: RingCamera;
private readonly ws;
private readonly onWsOpen;
readonly onMessage: Observable<LiveCallNegotiationMessage>;
readonly onCallAnswered: ReplaySubject<void>;
readonly onCallEnded: ReplaySubject<void>;
constructor(sessionId: string, camera: RingCamera);
private sendMessage;
sendAnswer(answer: RTCSessionDescriptionInit): void;
activated: boolean;
activate(): Promise<void>;
activateCameraSpeaker(): Promise<void>;
protected callEnded(): void;
}