agora-rdc-core
Version:
23 lines (22 loc) • 1.12 kB
TypeScript
import { EventEmitter } from './event-emitter';
import { RDCDisplay, RDCDisplayConfiguration, RDCRoleType } from './interfaces';
export declare abstract class AbstractRTCAdapter<T> extends EventEmitter {
protected rtcEngine: T;
protected appId: string;
protected role: RDCRoleType;
constructor(appId: string, rtcEngine: T, role: RDCRoleType);
abstract initialize(): void;
abstract getDisplays(): Promise<RDCDisplay[]>;
abstract join(streamId: number, channel: string, rtcToken: string): Promise<void>;
abstract leave(): Promise<void>;
abstract publish(display: RDCDisplay, configuration?: Partial<RDCDisplayConfiguration & {
captureMouseCursor: boolean;
}>, withAudio?: boolean): Promise<void>;
abstract unpublish(): Promise<void>;
abstract subscribe(streamId: number, attachEl: HTMLElement): Promise<void>;
abstract unsubscribe(streamId: number): Promise<void>;
abstract dispose(): Promise<void>;
abstract updateDisplayConfiguration(configuration: Partial<RDCDisplayConfiguration & {
captureMouseCursor: boolean;
}>): Promise<void>;
}