UNPKG

@salutejs/jazz-sdk-electron-plugins

Version:

Jazz SDK electron plugins

149 lines (143 loc) 4.2 kB
import { MediaType, Query, JazzRoom, JazzClient, JazzSdk, JazzSdkPlugin, } from '@salutejs/jazz-sdk-web'; import { Observable } from 'rxjs'; type JazzSdkMediaAccessType = 'microphone' | 'camera' | 'screen'; type JazzSdkMediaAccessStatus = | 'not-determined' | 'granted' | 'denied' | 'restricted' | 'unknown'; type JazzSdkAskForMediaAccessType = 'microphone' | 'camera'; type JazzSdkSystemSettingsKey = | 'microphone-security' | 'camera-security' | 'screen-share-security'; type JazzSdkDesktopCapturerSourcesEventUpdateSources = { type: 'updateSources'; payload: { sources: JazzSdkDesktopCapturerSource[]; added: JazzSdkDesktopCapturerSource[]; removed: JazzSdkDesktopCapturerSource[]; }; }; type ProcessType = { frameId: number; images: JazzSdkDesktopCapturerOptionImages; }; type JazzSdkDesktopCapturerSourcesEventStartProcess = { type: 'startProcess'; payload: ProcessType; }; type JazzSdkDesktopCapturerSourcesEventFinishProcess = { type: 'finishProcess'; payload: ProcessType; }; type JazzSdkDesktopCapturerOptionImages = | { isEnable: false; } | { isEnable: true; thumbnailSize: { height: number; width: number; }; }; type JazzSdkDesktopCapturerOptions = Readonly<{ types: Array<'window' | 'screen'>; images: JazzSdkDesktopCapturerOptionImages; }>; type JazzSdkDesktopCapturerSourceType = 'screen' | 'window'; type JazzSdkDesktopCapturerSource = Readonly<{ id: string; type: JazzSdkDesktopCapturerSourceType; name: string; displayId: string; image?: string; }>; type JazzSdkDesktopCapturerEventSelectDesktopSource = { type: 'selectDesktopSource'; payload: { source: JazzSdkDesktopCapturerSource; isShareDisplayAudio: boolean; }; }; type JazzSdkDesktopCapturerEventCancel = { type: 'cancel'; payload: { action: 'cancel'; }; }; type JazzSdkDesktopCapturerEventSources = { type: 'sources'; payload: { sources: JazzSdkDesktopCapturerSource[]; }; }; type JazzSdkDesktopCapturerEventUpdateSources = JazzSdkDesktopCapturerSourcesEventUpdateSources; type JazzSdkDesktopCapturerEventStartProcess = JazzSdkDesktopCapturerSourcesEventStartProcess; type JazzSdkDesktopCapturerEventFinishProcess = JazzSdkDesktopCapturerSourcesEventFinishProcess; type JazzSdkDesktopCapturerEvent = | JazzSdkDesktopCapturerEventSelectDesktopSource | JazzSdkDesktopCapturerEventCancel | JazzSdkDesktopCapturerEventUpdateSources | JazzSdkDesktopCapturerEventStartProcess | JazzSdkDesktopCapturerEventFinishProcess | JazzSdkDesktopCapturerEventSources; type JazzSdkDesktopCapturerService = { getMediaAccessStatus: ( type: JazzSdkMediaAccessType, ) => Promise<JazzSdkMediaAccessStatus>; requestDesktopMediaAccess: ( type: MediaType, ) => Promise<JazzSdkMediaAccessStatus>; status: Query<JazzSdkDesktopCapturerStatus>; sources: Query<JazzSdkDesktopCapturerSource[]>; accessStatus: Query<JazzSdkMediaAccessStatus | undefined>; isSupportedShareDisplayAudio: Query<boolean>; selectSource: ( source: JazzSdkDesktopCapturerSource, isShareDisplayAudio?: boolean, ) => void; openSystemSettings: (type: JazzSdkSystemSettingsKey) => Promise<void>; cancel: () => void; event$: Observable<JazzSdkDesktopCapturerEvent>; }; type JazzSdkDesktopCapturerStatus = 'started' | 'finished' | 'pending'; type JazzSdkDesktopPicker = { onSourceChoose: ( streamId?: string, streamType?: string, screenShareAudio?: boolean, ) => void; }; declare function getDesktopCapturer( sdk: JazzRoom | JazzClient | JazzSdk, ): JazzSdkDesktopCapturerService; declare function desktopCapturerPlugin(): JazzSdkPlugin; export { type JazzSdkAskForMediaAccessType, type JazzSdkDesktopCapturerEvent, type JazzSdkDesktopCapturerEventCancel, type JazzSdkDesktopCapturerEventSelectDesktopSource, type JazzSdkDesktopCapturerOptions, type JazzSdkDesktopCapturerService, type JazzSdkDesktopCapturerSource, type JazzSdkDesktopCapturerStatus, type JazzSdkDesktopPicker, type JazzSdkMediaAccessStatus, type JazzSdkMediaAccessType, type JazzSdkSystemSettingsKey, desktopCapturerPlugin, getDesktopCapturer, };