UNPKG

@observertc/client-monitor-js

Version:

ObserveRTC Client Integration Javascript Library

37 lines (36 loc) 1.48 kB
import { PeerConnectionMonitor } from "../monitors/PeerConnectionMonitor"; import { ClientEventPayloadMap } from "./ClientEventPayloadProvider"; export type RtcPeerConnectionEventerContext = { peerConnection: RTCPeerConnection; monitor: PeerConnectionMonitor; peerConnectionId: string; appData?: Record<string, unknown>; }; export declare class RtcPeerConnectionBinding { readonly peerConnection: RTCPeerConnection; readonly monitor: PeerConnectionMonitor; constructor(peerConnection: RTCPeerConnection, monitor: PeerConnectionMonitor); unbind(): void; bind(): void; private _onDataChannel; private _onIceCandidateError; private _onIceConnectionStateChange; private _onConnectionStateChange; private _onIceCandidate; private _onIceGatheringStateChange; private _onNegotiationNeeded; private _onSignalingStateChange; private _onTrack; private _fireEvent; } export declare function bindMediaStreamTrackEvents(options: { pcMonitor: PeerConnectionMonitor; track: MediaStreamTrack; fireEvent: <K extends keyof ClientEventPayloadMap>(eventType: K, payload: ClientEventPayloadMap[K]) => void; attachments?: Record<string, unknown>; }): void; export declare function bindRtcDataChannelEvents(options: { monitor: PeerConnectionMonitor; dataChannel: RTCDataChannel; fireEvent: <K extends keyof ClientEventPayloadMap>(eventType: K, payload: ClientEventPayloadMap[K]) => void; }): void;