Ramble-FE / services / webrtc / webrtc.interface.ts
webrtc.interface.ts
Raw
import { EventEmitterInterface } from "../core";
import { RTCConnectionEventMap } from "./webrtc.types";

export interface IRTCConnectionManager extends EventEmitterInterface<RTCConnectionEventMap> {
    initialize(): void;
    addLocalStream(stream: MediaStream): void;
    createOffer(): Promise<any>;
    createAnswer(): Promise<any>;
    setRemoteDescription(description: any): Promise<void>;
    addIceCandidate(candidate: any): Promise<void>;
    getConnectionState(): RTCPeerConnectionState;
    restartIce(): Promise<any>;
    close(): void;
    dispose(): void;
    isClosed(): boolean;
}