UNPKG

@casual-simulation/aux-vm-browser

Version:

A set of utilities required to securely run an AUX in a web browser.

73 lines 2.81 kB
import type { RoomOptions, RuntimeActions } from '@casual-simulation/aux-runtime'; import type { BotHelper, GetRoomOptions, RoomJoin, RoomLeave, SetRoomOptions } from '@casual-simulation/aux-vm/managers'; import type { Room, Track } from 'livekit-client'; import type { Observable, SubscriptionLike } from 'rxjs'; /** * Defines a class that is able to manage Livekit rooms and make streams available to scripts. */ export declare class LivekitManager implements SubscriptionLike { private _helper; private _rooms; private _addressToTrack; private _addressToPublication; private _addressToParticipant; private _addressToVideo; private _trackToAddress; private _closed; private _onTrackNeedsAttachment; private _onTrackNeedsDetachment; private _livekit; /** * Gets an observable that resolves whenever a track needs to be attached to the document. */ get onTrackNeedsAttachment(): Observable<Track>; /** * Gets an observable that resolves whenever a track needs to be detached from the document. */ get onTrackNeedsDetachment(): Observable<Track>; get closed(): boolean; constructor(helper: BotHelper); unsubscribe(): void; private _requestMediaPermissions; joinRoom(join: RoomJoin): Promise<void>; leaveRoom(leave: RoomLeave): Promise<void>; setRoomOptions(setRoomOptions: SetRoomOptions): Promise<void>; _setRoomOptions(room: Room, options: Partial<RoomOptions>): Promise<boolean>; getRoomOptions(getRoomOptions: GetRoomOptions): Promise<void>; private _getRoomOptions; private _getParticipantOptions; handleEvents(events: RuntimeActions[]): void; private _getRoomTrackOptions; private _setRoomTrackOptions; private _findRemoteParticipant; private _getRoomRemoteOptions; /** * Gets the media stream that is referenced by the given address. * @param address The address that should be used. */ getMediaByAddress(address: string): MediaStream; /** * Gets the video that is referenced by the given address. * @param address The address that should be used. */ getVideoByAddress(address: string): HTMLVideoElement; private _onTrackSubscribed; private _onTrackUnsubscribed; private _onLocalTrackPublished; private _onLocalTrackUnpublished; private _trackArg; private _getTrackOptions; private _onDisconnected; private _onReconnected; private _onTrackMuted; private _onTrackUnmuted; private _onActiveSpeakersChanged; private _onParticipantConnected; private _onParticipantDisconnected; private _saveTrack; private _deleteTrack; private _getTrackKind; private _getTrackQuality; private _getTrackAddress; } //# sourceMappingURL=LivekitManager.d.ts.map