/// /// /** * WebRtc Modules. * * Copyright 2017 Ahoo Studio.co.th. */ import { EventEmitter } from 'events'; import { IMessageExchange } from "./WebrtcSignaling"; export declare namespace AbstractPeerConnection { const CREATED_PEER = "createdPeer"; const PEER_STREAM_ADDED = "peerStreamAdded"; const PEER_STREAM_REMOVED = "peerStreamRemoved"; const CONNECTIVITY_ERROR = "connectivityError"; const PEER_STATS_READY = "PEER_STATS_READY"; const PEER_STAT = "PEER_STAT"; const ON_ICE_COMPLETED = "iceCompleted"; const ON_ICE_CONNECTED = "iceConnected"; const ON_ICE_CONNECTION_FAILED = "iceFailed"; const ON_ICE_CONNECTION_CLOSED = "iceClosed"; const PAUSE = "pause"; const UNPAUSE = "unpause"; const DUMMY_VIDEO = "dummy_video"; const ANSWER = "answer"; const OFFER = "offer"; const CANDIDATE = "candidate"; const PeerEvent = "PeerEvent"; } export interface IPC_Estabished { peers: Map; createPeer(options: any, webrtc: any): IPC_Handler; getPeers(session_id?: string): IPC_Handler | Map; removePeers(session_id: string, webrtc: any): any; sendToAll(message: any, payload: any): any; sendDirectlyToAll(channel: string, message: any, payload: any): any; } export interface IPC_Handler { id: string; pc: RTCPeerConnection; channels: any; pcEvent: EventEmitter; debug: boolean; readonly type: string; parentsEmitter: EventEmitter; receiveChannel: any; pcPeers: any; browserPrefix: string; nick: any; offer: boolean; audioTracks: MediaStreamTrack[]; videoTracks: MediaStreamTrack[]; send_event: (messageType: string, payload?: any, optional?: { to: string; }) => void; logError(error: string): any; initPeerConnection(stream: MediaStream, iceConfig: any): any; addStream(stream: MediaStream): any; removeStream(stream: MediaStream): any; handleMessage(message: IMessageExchange): any; getStats(mediaTrack: MediaStreamTrack, secInterval: number): Promise; restartIce(): any; } export interface PeerConstructor { peer_id: any; stream: any; pcPeers: any; emitter: any; sendHandler: any; offer: any; debug: any; iceConfig: RTCConfiguration; }