import { IStore } from "./react/features/app/types"; import { IConfig } from "./react/features/base/config/configType"; import { DocumentPiPMediaSessionActionHandler, ExtendedMediaSessionAction, ExtendedMediaSessionActionHandler, IDocumentPictureInPicture } from "./react/features/pip/types"; export {}; declare global { type Mutable = { -readonly [P in keyof T]: T[P] }; const APP: { store: IStore; UI: any; API: any; conference: any; debugLogs: any; }; const interfaceConfig: any; interface Navigator { gpu?: { requestAdapter(): Promise; }; } interface GPUAdapter { requestAdapterInfo?(): Promise<{ device: string }>; } interface Window { config: IConfig; JITSI_MEET_LITE_SDK?: boolean; interfaceConfig?: any; JitsiMeetJS?: any; MediaStreamTrackGenerator: { new(options: { kind: string }): MediaStreamTrack & { writable: WritableStream; }; }; MediaStreamTrackProcessor: { new(options: { track: MediaStreamTrack; maxBufferSize?: number }): { readable: ReadableStream; }; }; PressureObserver?: any; PressureRecord?: any; ReactNativeWebView?: any; // selenium tests handler _sharedVideoPlayer: any; alwaysOnTop: { api: any }; documentPictureInPicture?: IDocumentPictureInPicture; } interface MediaSession { setActionHandler( action: ExtendedMediaSessionAction, handler: ExtendedMediaSessionActionHandler | null ): void; setActionHandler( action: 'enterpictureinpicture', handler: DocumentPiPMediaSessionActionHandler | null ): void; } interface Document { mozCancelFullScreen?: Function; webkitExitFullscreen?: Function; } const config: IConfig; const JitsiMeetJS: any; interface HTMLMediaElement { setSinkId: (id: string) => Promise; stop: () => void; } }