UNPKG

@signalwire/js

Version:
30 lines 1.64 kB
import { BaseConnectionContract, RoomLeft, RoomLeftEventParams, BaseConnectionState } from '@signalwire/core'; import { BaseConnection, MediaEventNames } from '@signalwire/webrtc'; import { RoomSessionDeviceMethods } from './utils/interfaces'; type RoomSessionDeviceEventsHandlerMap = Record<BaseConnectionState, (params: RoomSessionDevice) => void> & Record<RoomLeft, (params?: RoomLeftEventParams) => void> & Record<MediaEventNames, () => void>; export type RoomSessionDeviceEvents = { [k in keyof RoomSessionDeviceEventsHandlerMap]: RoomSessionDeviceEventsHandlerMap[k]; }; /** @deprecated Use {@link RoomSessionDevice} instead */ export interface RoomDevice extends RoomSessionDevice { } export interface RoomSessionDevice extends RoomSessionDeviceMethods, BaseConnectionContract<RoomSessionDeviceEvents> { join(): Promise<void>; leave(): Promise<void>; /** @internal */ runWorker: BaseConnection<RoomSessionDeviceEvents>['runWorker']; } export declare class RoomSessionDeviceConnection extends BaseConnection<RoomSessionDeviceEvents> { join(): Promise<unknown>; leave(): Promise<void>; } /** * A RoomSessionDevice represents a device (such as a microphone or a camera) * that is at some point in its lifetime part of a {@link RoomSession}. You can * obtain a RoomSessionDevice from the {@link RoomSession} methods * {@link RoomSession.addCamera}, {@link RoomSession.addMicrophone}, and * {@link RoomSession.addDevice}. */ export declare const RoomSessionDeviceAPI: import("@signalwire/core").ConstructableType<RoomSessionDeviceConnection>; export {}; //# sourceMappingURL=RoomSessionDevice.d.ts.map