@100mslive/hms-video-store
Version:
@100mslive Core SDK which abstracts the complexities of webRTC while providing a reactive store for data management with a unidirectional data flow
55 lines (54 loc) • 2.41 kB
TypeScript
import { HMSInternalEvent } from './HMSInternalEvent';
import AnalyticsEvent from '../analytics/AnalyticsEvent';
import { HMSException } from '../error/HMSException';
import { HMSDeviceChangeEvent, HMSRole } from '../interfaces';
import { HMSLocalAudioTrack, HMSLocalVideoTrack, HMSRemoteAudioTrack, HMSRemoteVideoTrack, HMSWebrtcStats } from '../internal';
import { PolicyParams } from '../notification-manager/HMSNotifications';
import { HMSRemotePeer } from '../sdk/models/peer';
import { ITrackAudioLevelUpdate } from '../utils/track-audio-level-monitor';
export declare class EventBus {
private eventEmitter;
readonly analytics: HMSInternalEvent<AnalyticsEvent>;
readonly deviceChange: HMSInternalEvent<HMSDeviceChangeEvent>;
readonly localAudioEnabled: HMSInternalEvent<{
enabled: boolean;
track: HMSLocalAudioTrack;
}>;
readonly localVideoEnabled: HMSInternalEvent<{
enabled: boolean;
track: HMSLocalVideoTrack;
}>;
readonly localVideoUnmutedNatively: HMSInternalEvent<unknown>;
readonly localAudioUnmutedNatively: HMSInternalEvent<unknown>;
/**
* Emitter which processes raw RTC stats from rtcStatsUpdate and calls client callback
*/
readonly statsUpdate: HMSInternalEvent<HMSWebrtcStats>;
readonly trackDegraded: HMSInternalEvent<HMSRemoteVideoTrack>;
readonly trackRestored: HMSInternalEvent<HMSRemoteVideoTrack>;
/**
* Emits audio level updates for audio tracks(used with local track in preview)
*/
readonly trackAudioLevelUpdate: HMSInternalEvent<ITrackAudioLevelUpdate>;
readonly audioPluginFailed: HMSInternalEvent<HMSException>;
readonly localAudioSilence: HMSInternalEvent<{
track: HMSLocalAudioTrack;
}>;
readonly policyChange: HMSInternalEvent<PolicyParams>;
readonly localRoleUpdate: HMSInternalEvent<{
oldRole: HMSRole;
newRole: HMSRole;
}>;
readonly audioTrackUpdate: HMSInternalEvent<{
track: HMSRemoteAudioTrack;
enabled: boolean;
}>;
readonly audioTrackAdded: HMSInternalEvent<{
track: HMSRemoteAudioTrack;
peer: HMSRemotePeer;
}>;
readonly audioTrackRemoved: HMSInternalEvent<HMSRemoteAudioTrack>;
readonly autoplayError: HMSInternalEvent<HMSException>;
readonly leave: HMSInternalEvent<HMSException | undefined>;
readonly error: HMSInternalEvent<HMSException>;
}