/// import { EventEmitter } from 'events'; import Rpc from '../rpc'; import { KurentoEventType } from '../types/kurento-event'; import { LogType } from '../logger'; import { MediaType } from '../types'; export default class BaseElement extends EventEmitter { protected objId: string; protected rpc: Rpc; protected logger: LogType; constructor(objId: string); getObjectId(): string; subscribe(event: KurentoEventType): Promise; unsubscribe(subscription: string, event: KurentoEventType): Promise<{ sessionId: string; } | null>; describe(): Promise<{ hierarchy: string[]; qualifiedType: string; type: string; } | null>; release(): Promise<{ sessionId: string; } | null>; getSourceConnections(mediaType: MediaType): Promise<{ type: "AUDIO" | "VIDEO" | "DATA"; source: string; sink: string; sourceDescription: string | null; sinkDescription: string | null; }[] | undefined>; getSinkConnections(mediaType: MediaType): Promise<{ type: "AUDIO" | "VIDEO" | "DATA"; source: string; sink: string; sourceDescription: string | null; sinkDescription: string | null; }[] | undefined>; }