feat: typescript part 1

Co-authored-by: Su-Yong <simssy2205@gmail.com>
This commit is contained in:
JellyBrick
2023-09-03 00:25:48 +09:00
parent 3e3fdb3c3f
commit 82bcadcd64
57 changed files with 3958 additions and 968 deletions

1823
types/datahost-get-state.ts Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,464 @@
export interface GetPlayerResponse {
responseContext: ResponseContext;
playabilityStatus: PlayabilityStatus;
streamingData: StreamingData;
heartbeatParams: HeartbeatParams;
playbackTracking: PlaybackTracking;
captions: Captions;
videoDetails: GetPlayerResponseVideoDetails;
playerConfig: PlayerConfig;
storyboards: Storyboards;
microformat: Microformat;
trackingParams: string;
attestation: Attestation;
endscreen: Endscreen;
adBreakHeartbeatParams: string;
}
export interface Attestation {
playerAttestationRenderer: PlayerAttestationRenderer;
}
export interface PlayerAttestationRenderer {
challenge: string;
botguardData: BotguardData;
}
export interface BotguardData {
program: string;
interpreterSafeUrl: InterpreterSafeURL;
serverEnvironment: number;
}
export interface InterpreterSafeURL {
privateDoNotAccessOrElseTrustedResourceUrlWrappedValue: string;
}
export interface Captions {
playerCaptionsTracklistRenderer: PlayerCaptionsTracklistRenderer;
}
export interface PlayerCaptionsTracklistRenderer {
captionTracks: CaptionTrack[];
audioTracks: AudioTrack[];
translationLanguages: TranslationLanguage[];
defaultAudioTrackIndex: number;
}
export interface AudioTrack {
captionTrackIndices: number[];
}
export interface CaptionTrack {
baseUrl: string;
name: Name;
vssId: string;
languageCode: string;
kind: string;
isTranslatable: boolean;
}
export interface Name {
runs: Run[];
}
export interface Run {
text: string;
}
export interface TranslationLanguage {
languageCode: string;
languageName: Name;
}
export interface Endscreen {
endscreenRenderer: EndscreenRenderer;
}
export interface EndscreenRenderer {
elements: Element[];
startMs: string;
trackingParams: string;
}
export interface Element {
endscreenElementRenderer: EndscreenElementRenderer;
}
export interface EndscreenElementRenderer {
style: string;
image: ImageClass;
left: number;
width: number;
top: number;
aspectRatio: number;
startMs: string;
endMs: string;
title: Title;
metadata: Name;
endpoint: Endpoint;
trackingParams: string;
id: string;
thumbnailOverlays: ThumbnailOverlay[];
}
export interface Endpoint {
clickTrackingParams: string;
commandMetadata: CommandMetadata;
watchEndpoint: WatchEndpoint;
}
export interface CommandMetadata {
}
export interface WatchEndpoint {
videoId: string;
}
export interface ImageClass {
thumbnails: ThumbnailElement[];
}
export interface ThumbnailElement {
url: string;
width: number;
height: number;
}
export interface ThumbnailOverlay {
thumbnailOverlayTimeStatusRenderer: ThumbnailOverlayTimeStatusRenderer;
}
export interface ThumbnailOverlayTimeStatusRenderer {
text: Title;
style: string;
}
export interface Title {
runs: Run[];
accessibility: Accessibility;
}
export interface Accessibility {
accessibilityData: AccessibilityData;
}
export interface AccessibilityData {
label: string;
}
export interface HeartbeatParams {
heartbeatToken: string;
intervalMilliseconds: string;
maxRetries: string;
drmSessionId: string;
softFailOnError: boolean;
heartbeatServerData: string;
}
export interface Microformat {
microformatDataRenderer: MicroformatDataRenderer;
}
export interface MicroformatDataRenderer {
urlCanonical: string;
title: string;
description: string;
thumbnail: ImageClass;
siteName: string;
appName: string;
androidPackage: string;
iosAppStoreId: string;
iosAppArguments: string;
ogType: string;
urlApplinksIos: string;
urlApplinksAndroid: string;
urlTwitterIos: string;
urlTwitterAndroid: string;
twitterCardType: string;
twitterSiteHandle: string;
schemaDotOrgType: string;
noindex: boolean;
unlisted: boolean;
paid: boolean;
familySafe: boolean;
tags: string[];
availableCountries: string[];
pageOwnerDetails: PageOwnerDetails;
videoDetails: MicroformatDataRendererVideoDetails;
linkAlternates: LinkAlternate[];
viewCount: string;
publishDate: string;
category: string;
uploadDate: string;
}
export interface LinkAlternate {
hrefUrl: string;
title?: string;
alternateType?: string;
}
export interface PageOwnerDetails {
name: string;
externalChannelId: string;
youtubeProfileUrl: string;
}
export interface MicroformatDataRendererVideoDetails {
externalVideoId: string;
durationSeconds: string;
durationIso8601: string;
}
export interface PlayabilityStatus {
status: string;
playableInEmbed: boolean;
audioOnlyPlayability: AudioOnlyPlayability;
miniplayer: Miniplayer;
contextParams: string;
}
export interface AudioOnlyPlayability {
audioOnlyPlayabilityRenderer: AudioOnlyPlayabilityRenderer;
}
export interface AudioOnlyPlayabilityRenderer {
trackingParams: string;
audioOnlyAvailability: string;
}
export interface Miniplayer {
miniplayerRenderer: MiniplayerRenderer;
}
export interface MiniplayerRenderer {
playbackMode: string;
}
export interface PlaybackTracking {
videostatsPlaybackUrl: PtrackingURLClass;
videostatsDelayplayUrl: AtrURLClass;
videostatsWatchtimeUrl: PtrackingURLClass;
ptrackingUrl: PtrackingURLClass;
qoeUrl: PtrackingURLClass;
atrUrl: AtrURLClass;
videostatsScheduledFlushWalltimeSeconds: number[];
videostatsDefaultFlushIntervalSeconds: number;
googleRemarketingUrl: AtrURLClass;
}
export interface AtrURLClass {
baseUrl: string;
elapsedMediaTimeSeconds: number;
headers: Header[];
}
export interface Header {
headerType: HeaderType;
}
export enum HeaderType {
PlusPageID = 'PLUS_PAGE_ID',
UserAuth = 'USER_AUTH',
VisitorID = 'VISITOR_ID',
}
export interface PtrackingURLClass {
baseUrl: string;
headers: Header[];
}
export interface PlayerConfig {
audioConfig: AudioConfig;
streamSelectionConfig: StreamSelectionConfig;
mediaCommonConfig: MediaCommonConfig;
webPlayerConfig: WebPlayerConfig;
}
export interface AudioConfig {
loudnessDb: number;
perceptualLoudnessDb: number;
enablePerFormatLoudness: boolean;
}
export interface MediaCommonConfig {
dynamicReadaheadConfig: DynamicReadaheadConfig;
}
export interface DynamicReadaheadConfig {
maxReadAheadMediaTimeMs: number;
minReadAheadMediaTimeMs: number;
readAheadGrowthRateMs: number;
}
export interface StreamSelectionConfig {
maxBitrate: string;
}
export interface WebPlayerConfig {
useCobaltTvosDash: boolean;
webPlayerActionsPorting: WebPlayerActionsPorting;
gatewayExperimentGroup: string;
}
export interface WebPlayerActionsPorting {
subscribeCommand: SubscribeCommand;
unsubscribeCommand: UnsubscribeCommand;
addToWatchLaterCommand: AddToWatchLaterCommand;
removeFromWatchLaterCommand: RemoveFromWatchLaterCommand;
}
export interface AddToWatchLaterCommand {
clickTrackingParams: string;
playlistEditEndpoint: AddToWatchLaterCommandPlaylistEditEndpoint;
}
export interface AddToWatchLaterCommandPlaylistEditEndpoint {
playlistId: string;
actions: PurpleAction[];
}
export interface PurpleAction {
addedVideoId: string;
action: string;
}
export interface RemoveFromWatchLaterCommand {
clickTrackingParams: string;
playlistEditEndpoint: RemoveFromWatchLaterCommandPlaylistEditEndpoint;
}
export interface RemoveFromWatchLaterCommandPlaylistEditEndpoint {
playlistId: string;
actions: FluffyAction[];
}
export interface FluffyAction {
action: string;
removedVideoId: string;
}
export interface SubscribeCommand {
clickTrackingParams: string;
subscribeEndpoint: SubscribeEndpoint;
}
export interface SubscribeEndpoint {
channelIds: string[];
params: string;
}
export interface UnsubscribeCommand {
clickTrackingParams: string;
unsubscribeEndpoint: SubscribeEndpoint;
}
export interface ResponseContext {
serviceTrackingParams: ServiceTrackingParam[];
maxAgeSeconds: number;
}
export interface ServiceTrackingParam {
service: string;
params: Param[];
}
export interface Param {
key: string;
value: string;
}
export interface Storyboards {
playerStoryboardSpecRenderer: PlayerStoryboardSpecRenderer;
}
export interface PlayerStoryboardSpecRenderer {
spec: string;
recommendedLevel: number;
}
export interface StreamingData {
expiresInSeconds: string;
formats: Format[];
adaptiveFormats: AdaptiveFormat[];
}
export interface AdaptiveFormat {
itag: number;
mimeType: string;
bitrate: number;
width?: number;
height?: number;
initRange: Range;
indexRange: Range;
lastModified: string;
contentLength: string;
quality: string;
fps?: number;
qualityLabel?: string;
projectionType: ProjectionType;
averageBitrate: number;
approxDurationMs: string;
signatureCipher: string;
colorInfo?: ColorInfo;
highReplication?: boolean;
audioQuality?: string;
audioSampleRate?: string;
audioChannels?: number;
loudnessDb?: number;
}
export interface ColorInfo {
primaries: string;
transferCharacteristics: string;
}
export interface Range {
start: string;
end: string;
}
export enum ProjectionType {
Rectangular = 'RECTANGULAR',
}
export interface Format {
itag: number;
mimeType: string;
bitrate: number;
width: number;
height: number;
lastModified: string;
quality: string;
fps: number;
qualityLabel: string;
projectionType: ProjectionType;
audioQuality: string;
approxDurationMs: string;
audioSampleRate: string;
audioChannels: number;
signatureCipher: string;
}
export interface GetPlayerResponseVideoDetails {
videoId: string;
title: string;
lengthSeconds: string;
channelId: string;
isOwnerViewing: boolean;
isCrawlable: boolean;
thumbnail: ImageClass;
allowRatings: boolean;
viewCount: string;
author: string;
isPrivate: boolean;
isUnpluggedCorpus: boolean;
musicVideoType: string;
isLiveContent: boolean;
elapsedSeconds: number;
isPaused: boolean;
// youtube-music only
album?: string | null;
}

189
types/youtube-player.ts Normal file
View File

@ -0,0 +1,189 @@
// TODO: fully type definitions for youtube-player
import { GetPlayerResponse } from './get-player-response';
export interface YoutubePlayer {
getInternalApiInterface: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getApiInterface: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
cueVideoByPlayerVars: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
loadVideoByPlayerVars: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
preloadVideoByPlayerVars: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getAdState: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
sendAbandonmentPing: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setLoopRange: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getLoopRange: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setAutonavState: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
seekToLiveHead: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
requestSeekToWallTimeSeconds: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
seekToStreamTime: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
startSeekCsiAction: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getStreamTimeOffset: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getVideoData: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setInlinePreview: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
updateDownloadState: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
queueOfflineAction: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
pauseVideoDownload: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
resumeVideoDownload: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
refreshAllStaleEntities: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
isOrchestrationLeader: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getAppState: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
updateLastActiveTime: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setBlackout: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setUserEngagement: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
updateSubtitlesUserSettings: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getPresentingPlayerType: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
canPlayType: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
updatePlaylist: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
updateVideoData: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
updateEnvironmentData: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
sendVideoStatsEngageEvent: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
productsInVideoVisibilityUpdated: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setSafetyMode: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
isAtLiveHead: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getVideoAspectRatio: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getPreferredQuality: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getPlaybackQualityLabel: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setPlaybackQualityRange: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
onAdUxClicked: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getFeedbackProductData: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getStoryboardFrame: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getStoryboardFrameIndex: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getStoryboardLevel: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getNumberOfStoryboardLevels: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getCaptionWindowContainerId: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getAvailableQualityLabels: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
addUtcCueRange: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
showAirplayPicker: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
dispatchReduxAction: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getPlayerResponse: () => GetPlayerResponse;
getHeartbeatResponse: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
changeMarkerVisibility: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setAutonav: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
isNotServable: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
channelSubscribed: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
channelUnsubscribed: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
togglePictureInPicture: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
supportsGaplessAudio: () => boolean;
supportsGaplessShorts: () => boolean;
enqueueVideoByPlayerVars: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
clearQueue: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getAudioTrack: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setAudioTrack: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getAvailableAudioTracks: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getMaxPlaybackQuality: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getUserPlaybackQualityPreference: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getSubtitlesUserSettings: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
resetSubtitlesUserSettings: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setMinimized: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setOverlayVisibility: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
confirmYpcRental: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
toggleSubtitlesOn: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
isSubtitlesOn: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
queueNextVideo: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
handleExternalCall: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
logApiCall: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
isExternalMethodAvailable: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setScreenLayer: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getCurrentPlaylistSequence: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getPlaylistSequenceForTime: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
shouldSendVisibilityState: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
syncVolume: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
highlightSettingsMenuItem: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
openSettingsMenuItem: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getVisibilityState: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
isMutedByMutedAutoplay: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setGlobalCrop: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setInternalSize: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
seekBy: (seconds: number) => void;
showControls: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
hideControls: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
cancelPlayback: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getProgressState: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
isInline: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setInline: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setLoopVideo: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getLoopVideo: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getVideoContentRect: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getVideoStats: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getStoryboardFormat: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
toggleFullscreen: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
isFullscreen: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getPlayerSize: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
toggleSubtitles: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setCenterCrop: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setFauxFullscreen: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setSizeStyle: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
handleGlobalKeyDown: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
handleGlobalKeyUp: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
wakeUpControls: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
cueVideoById: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
loadVideoById: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
cueVideoByUrl: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
loadVideoByUrl: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
playVideo: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
pauseVideo: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
stopVideo: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
clearVideo: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getVideoBytesLoaded: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getVideoBytesTotal: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getVideoLoadedFraction: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getVideoStartBytes: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
cuePlaylist: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
loadPlaylist: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
nextVideo: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
previousVideo: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
playVideoAt: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setShuffle: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setLoop: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getPlaylist: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getPlaylistIndex: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getPlaylistId: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
loadModule: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
unloadModule: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setOption: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getOption: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getOptions: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
mute: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
unMute: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
isMuted: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setVolume: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getVolume: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
seekTo: (seconds: number) => void;
getPlayerMode: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getPlayerState: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getAvailablePlaybackRates: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getPlaybackQuality: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setPlaybackQuality: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getAvailableQualityLevels: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getCurrentTime: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getDuration: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
addEventListener: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
removeEventListener: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getDebugText: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
addCueRange: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
removeCueRange: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setSize: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
destroy: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getSphericalProperties: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setSphericalProperties: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
mutedAutoplay: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getVideoEmbedCode: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getVideoUrl: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getMediaReferenceTime: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getSize: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
logImaAdEvent: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
preloadVideoById: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setAccountLinkState: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
updateAccountLinkingConfig: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getAvailableQualityData: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setCompositeParam: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getStatsForNerds: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
showVideoInfo: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
hideVideoInfo: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
isVideoInfoVisible: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
getPlaybackRate: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
setPlaybackRate: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
updateFullerscreenEduButtonSubtleModeState: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
updateFullerscreenEduButtonVisibility: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
addEmbedsConversionTrackingParams: <Parameters extends unknown[], Return>(...params: Parameters) => Return;
}