import { OmpBroadcastChannelActionsMap } from '../common/omp-broadcast-channel'; import { VideoControllerApi } from './video-controller-api'; import { UnwrapObservable } from '../types'; import { Observable } from 'rxjs'; type ExtractType = T[K]; type ExtractReturnType = T[K] extends (...args: any[]) => infer R ? R : never; type ExtractParameterTypes = T[K] extends (...args: infer A) => any ? A : never; type ExtractPropertyTypes = { requestType: UnwrapObservable>; responseType: ExtractType; }; type ExtractMethodTypes = { requestType: ExtractParameterTypes; responseType: ExtractReturnType; }; export type HandshakeChannelActionsMap = OmpBroadcastChannelActionsMap<{ 'DetachedControllerProxy.connect': { requestType: { proxyId: string; }; responseType: { proxyId: string; messageChannelId: string; }; }; 'DetachedControllerProxy.connected': { requestType: { proxyId: string; messageChannelId: string; }; responseType: { proxyId: string; }; }; 'DetachedControllerProxy.heartbeat': { requestType: { proxyId: string; heartbeat: number; }; responseType: { proxyId: string; heartbeat: number; }; }; }>; export type FlattenObservableToVoid = T extends Observable ? Observable : T; export type MessageChannelActionsMap = OmpBroadcastChannelActionsMap<{ 'VideoControllerApi.onVideoLoading$': ExtractPropertyTypes; 'VideoControllerApi.onVideoLoaded$': ExtractPropertyTypes; 'VideoControllerApi.onPlay$': ExtractPropertyTypes; 'VideoControllerApi.onPause$': ExtractPropertyTypes; 'VideoControllerApi.onVideoTimeChange$': ExtractPropertyTypes; 'VideoControllerApi.onSeeking$': ExtractPropertyTypes; 'VideoControllerApi.onSeeked$': ExtractPropertyTypes; 'VideoControllerApi.onBuffering$': ExtractPropertyTypes; 'VideoControllerApi.onEnded$': ExtractPropertyTypes; 'VideoControllerApi.onAudioSwitched$': ExtractPropertyTypes; 'VideoControllerApi.onAudioUpdated$': ExtractPropertyTypes; 'VideoControllerApi.onAudioOutputVolumeChange$': ExtractPropertyTypes; 'VideoControllerApi.onVideoWindowPlaybackStateChange$': ExtractPropertyTypes; 'VideoControllerApi.onVideoError$': ExtractPropertyTypes; 'VideoControllerApi.onVolumeChange$': ExtractPropertyTypes; 'VideoControllerApi.onFullscreenChange$': ExtractPropertyTypes; 'VideoControllerApi.onVideoSafeZoneChange$': ExtractPropertyTypes; 'VideoControllerApi.onPlaybackRateChange$': ExtractPropertyTypes; 'VideoControllerApi.onHelpMenuChange$': ExtractPropertyTypes; 'VideoControllerApi.onPlaybackState$': ExtractPropertyTypes; 'VideoControllerApi.onAudioLoaded$': ExtractPropertyTypes; 'VideoControllerApi.onSubtitlesLoaded$': ExtractPropertyTypes; 'VideoControllerApi.onSubtitlesCreate$': ExtractPropertyTypes; 'VideoControllerApi.onSubtitlesHide$': ExtractPropertyTypes; 'VideoControllerApi.onSubtitlesRemove$': ExtractPropertyTypes; 'VideoControllerApi.onSubtitlesShow$': ExtractPropertyTypes; 'VideoControllerApi.onMainAudioChange$': ExtractPropertyTypes; 'VideoControllerApi.onMainAudioPeakProcessorMessage$': ExtractPropertyTypes; 'VideoControllerApi.onMainAudioInputSoloMute$': ExtractPropertyTypes; 'VideoControllerApi.onSidecarAudioCreate$': ExtractPropertyTypes; 'VideoControllerApi.onSidecarAudioLoaded$': ExtractPropertyTypes; 'VideoControllerApi.onSidecarAudioRemove$': ExtractPropertyTypes; 'VideoControllerApi.onSidecarAudioChange$': ExtractPropertyTypes; 'VideoControllerApi.onSidecarAudioVolumeChange$': ExtractPropertyTypes; 'VideoControllerApi.onSidecarAudioPeakProcessorMessage$': ExtractPropertyTypes; 'VideoControllerApi.onSidecarAudioInputSoloMute$': ExtractPropertyTypes; 'VideoControllerApi.onSidecarAudiosChange$': ExtractPropertyTypes; 'VideoControllerApi.onThumbnailVttUrlChanged$': ExtractPropertyTypes; 'VideoControllerApi.onActiveNamedEventStreamsChange$': ExtractPropertyTypes; 'VideoControllerApi.onNamedEvent$': ExtractPropertyTypes; 'VideoControllerApi.loadVideoInternal': ExtractMethodTypes; 'VideoControllerApi.loadVideo': ExtractMethodTypes; 'VideoControllerApi.reloadVideo': ExtractMethodTypes; 'VideoControllerApi.setVolume': ExtractMethodTypes; 'VideoControllerApi.setPlaybackRate': ExtractMethodTypes; 'VideoControllerApi.play': ExtractMethodTypes; 'VideoControllerApi.pause': ExtractMethodTypes; 'VideoControllerApi.togglePlayPause': ExtractMethodTypes; 'VideoControllerApi.seekToFrame': ExtractMethodTypes; 'VideoControllerApi.seekFromCurrentFrame': ExtractMethodTypes; 'VideoControllerApi.seekFromCurrentTime': ExtractMethodTypes; 'VideoControllerApi.seekPreviousFrame': ExtractMethodTypes; 'VideoControllerApi.seekNextFrame': ExtractMethodTypes; 'VideoControllerApi.seekToTime': ExtractMethodTypes; 'VideoControllerApi.seekToTimecode': ExtractMethodTypes; 'VideoControllerApi.seekToPercent': ExtractMethodTypes; 'VideoControllerApi.seekToEnd': ExtractMethodTypes; 'VideoControllerApi.mute': ExtractMethodTypes; 'VideoControllerApi.unmute': ExtractMethodTypes; 'VideoControllerApi.toggleMuteUnmute': ExtractMethodTypes; 'VideoControllerApi.toggleFullscreen': ExtractMethodTypes; 'VideoControllerApi.appendHelpMenuGroup': ExtractMethodTypes; 'VideoControllerApi.prependHelpMenuGroup': ExtractMethodTypes; 'VideoControllerApi.clearHelpMenuGroups': ExtractMethodTypes; 'VideoControllerApi.addSafeZone': ExtractMethodTypes; 'VideoControllerApi.removeSafeZone': ExtractMethodTypes; 'VideoControllerApi.clearSafeZones': ExtractMethodTypes; 'VideoControllerApi.createSubtitlesVttTrack': ExtractMethodTypes; 'VideoControllerApi.hideSubtitlesTrack': ExtractMethodTypes; 'VideoControllerApi.removeAllSubtitlesTracks': ExtractMethodTypes; 'VideoControllerApi.removeSubtitlesTrack': ExtractMethodTypes; 'VideoControllerApi.showSubtitlesTrack': ExtractMethodTypes; 'VideoControllerApi.setActiveAudioTrack': ExtractMethodTypes; 'VideoControllerApi.updateAudioTrack': ExtractMethodTypes; 'VideoControllerApi.activateMainAudio': ExtractMethodTypes; 'VideoControllerApi.deactivateMainAudio': ExtractMethodTypes; 'VideoControllerApi.createMainAudioRouter': ExtractMethodTypes; 'VideoControllerApi.setAudioOutputVolume': ExtractMethodTypes; 'VideoControllerApi.setAudioOutputMuted': ExtractMethodTypes; 'VideoControllerApi.toggleAudioOutputMuteUnmute': ExtractMethodTypes; 'VideoControllerApi.muteAudioOutput': ExtractMethodTypes; 'VideoControllerApi.unmuteAudioOutput': ExtractMethodTypes; 'VideoControllerApi.createMainAudioPeakProcessor': { requestType: ExtractParameterTypes; responseType: FlattenObservableToVoid>; }; 'VideoControllerApi.updateMainAudioRouterConnections': ExtractMethodTypes; 'VideoControllerApi.toggleMainAudioRouterSolo': ExtractMethodTypes; 'VideoControllerApi.toggleMainAudioRouterMute': ExtractMethodTypes; 'VideoControllerApi.setMainAudioRouterInitialRoutingConnections': ExtractMethodTypes; 'VideoControllerApi.setMainAudioEffectsGraphs': ExtractMethodTypes; 'VideoControllerApi.removeMainAudioEffectsGraphs': ExtractMethodTypes; 'VideoControllerApi.setMainAudioEffectsParams': ExtractMethodTypes; 'VideoControllerApi.createSidecarAudioTrack': ExtractMethodTypes; 'VideoControllerApi.createSidecarAudioTracks': ExtractMethodTypes; 'VideoControllerApi.removeSidecarAudioTracks': ExtractMethodTypes; 'VideoControllerApi.activateSidecarAudioTracks': ExtractMethodTypes; 'VideoControllerApi.deactivateSidecarAudioTracks': ExtractMethodTypes; 'VideoControllerApi.setSidecarVolume': ExtractMethodTypes; 'VideoControllerApi.setSidecarMuted': ExtractMethodTypes; 'VideoControllerApi.muteSidecar': ExtractMethodTypes; 'VideoControllerApi.unmuteSidecar': ExtractMethodTypes; 'VideoControllerApi.removeAllSidecarAudioTracks': ExtractMethodTypes; 'VideoControllerApi.createSidecarAudioRouter': ExtractMethodTypes; 'VideoControllerApi.setSidecarAudioRouterInitialRoutingConnections': ExtractMethodTypes; 'VideoControllerApi.updateSidecarAudioRouterConnections': ExtractMethodTypes; 'VideoControllerApi.toggleSidecarAudioRouterSolo': ExtractMethodTypes; 'VideoControllerApi.toggleSidecarAudioRouterMute': ExtractMethodTypes; 'VideoControllerApi.setSidecarAudioEffectsGraph': ExtractMethodTypes; 'VideoControllerApi.removeSidecarAudioEffectsGraphs': ExtractMethodTypes; 'VideoControllerApi.setSidecarAudioEffectsParams': ExtractMethodTypes; 'VideoControllerApi.createSidecarAudioPeakProcessor': { requestType: ExtractParameterTypes; responseType: FlattenObservableToVoid>; }; 'VideoControllerApi.exportMainAudioTrackToSidecar': ExtractMethodTypes; 'VideoControllerApi.exportMainAudioTracksToSidecar': ExtractMethodTypes; 'VideoControllerApi.loadThumbnailVttUrl': ExtractMethodTypes; 'VideoControllerApi.updateActiveNamedEventStreams': ExtractMethodTypes; 'VideoControllerApi.getActiveNamedEventStreams': ExtractMethodTypes; 'VideoControllerApi.loadBlackVideo': ExtractMethodTypes; 'VideoControllerApi.extractVideoKeyframe': ExtractMethodTypes; 'VideoControllerApi.attachVideoWindow': ExtractMethodTypes; }>; export {};