import { NewPublisherEvent } from "../service/WebRtcInterface"; import { StreamRoomId } from "./types/ApiTypes"; export declare class RTCRtpScriptTransform { constructor(worker: any, options: any); transform: (frame: any, controller: any) => void; } export interface PeerCredentials { username: string; password: string; expirationTime: number; } export interface EncKey { key: Buffer; iv: Buffer; } export interface InitOptions { signalingServer: string; appServer: string; mediaServer: string; turnUrls?: string[]; iceTransportPolicy?: RTCIceTransportPolicy; encKey?: string; } export interface VideoStream { stream: MediaStream; isLocal: boolean; id: string; } export type PluginHandleId = number & { _pluginHandleId: never; }; export type PluginId = string & { _pluginId: never; }; export type SessionId = number & { _sessionId: never; }; export interface JanusPluginHandle { id: PluginHandleId; pluginId: PluginId; } export interface JanusSession { id: SessionId; } export interface Publisher extends NewPublisherEvent { attached: boolean; room: StreamRoomId; } export type EncPair = { readable: ReadableStream; writable: WritableStream; id: string; publisherId: number; posted: boolean; }; export interface RTCEncodedStream { readable: ReadableStream; writable: WritableStream; } export interface QueueItem { taskId: number; _room: StreamRoomId; jsep?: { sdp: string; type: string; }; }