UNPKG

@types/chrome

Version:
1,158 lines (1,020 loc) 39 kB
/* eslint-disable @typescript-eslint/no-wrapper-object-types */ declare namespace chrome { //////////////////// // Cast // @see https://code.google.com/p/chromium/codesearch#chromium/src/ui/file_manager/externs/chrome_cast.js //////////////////// export namespace cast { /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.AutoJoinPolicy */ export enum AutoJoinPolicy { CUSTOM_CONTROLLER_SCOPED = "custom_controller_scoped", TAB_AND_ORIGIN_SCOPED = "tab_and_origin_scoped", ORIGIN_SCOPED = "origin_scoped", PAGE_SCOPED = "page_scoped", } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.DefaultActionPolicy */ export enum DefaultActionPolicy { CREATE_SESSION = "create_session", CAST_THIS_TAB = "cast_this_tab", } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.Capability */ export enum Capability { VIDEO_OUT = "video_out", AUDIO_OUT = "audio_out", VIDEO_IN = "video_in", AUDIO_IN = "audio_in", MULTIZONE_GROUP = "multizone_group", } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.ErrorCode */ export enum ErrorCode { CANCEL = "cancel", TIMEOUT = "timeout", API_NOT_INITIALIZED = "api_not_initialized", INVALID_PARAMETER = "invalid_parameter", EXTENSION_NOT_COMPATIBLE = "extension_not_compatible", EXTENSION_MISSING = "extension_missing", RECEIVER_UNAVAILABLE = "receiver_unavailable", SESSION_ERROR = "session_error", CHANNEL_ERROR = "channel_error", LOAD_MEDIA_FAILED = "load_media_failed", } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.ReceiverAvailability */ export enum ReceiverAvailability { AVAILABLE = "available", UNAVAILABLE = "unavailable", } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.SenderPlatform */ export enum SenderPlatform { CHROME = "chrome", IOS = "ios", ANDROID = "android", } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.ReceiverType */ export enum ReceiverType { CAST = "cast", DIAL = "dial", HANGOUT = "hangout", CUSTOM = "custom", } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.ReceiverAction */ export enum ReceiverAction { CAST = "cast", STOP = "stop", } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.SessionStatus */ export enum SessionStatus { CONNECTED = "connected", DISCONNECTED = "disconnected", STOPPED = "stopped", } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.VERSION */ export var VERSION: number[]; /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.isAvailable */ export var isAvailable: boolean; /** * @param apiConfig * @param successCallback * @param errorCallback */ export function initialize( apiConfig: chrome.cast.ApiConfig, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param successCallback * @param errorCallback * @param opt_sessionRequest * @param opt_label */ export function requestSession( successCallback: (session: chrome.cast.Session) => void, errorCallback: (error: chrome.cast.Error) => void, sessionRequest?: chrome.cast.SessionRequest, label?: string, ): void; /** * @param sessionId The id of the session to join. */ export function requestSessionById(sessionId: string): void; /** * @param listener */ export function addReceiverActionListener( listener: (receiver: chrome.cast.Receiver, receiverAction: chrome.cast.ReceiverAction) => void, ): void; /** * @param listener */ export function removeReceiverActionListener( listener: (receiver: chrome.cast.Receiver, receiverAction: chrome.cast.ReceiverAction) => void, ): void; /** * @param message The message to log. */ export function logMessage(message: string): void; /** * @param receivers * @param successCallback * @param errorCallback */ export function setCustomReceivers( receivers: chrome.cast.Receiver[], successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param receiver * @param successCallback * @param errorCallback */ export function setReceiverDisplayStatus( receiver: chrome.cast.Receiver, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param escaped A string to unescape. * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.unescape */ export function unescape(escaped: string): string; export class ApiConfig { /** * @param sessionRequest * @param sessionListener * @param receiverListener * @param opt_autoJoinPolicy * @param opt_defaultActionPolicy * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.ApiConfig */ constructor( sessionRequest: chrome.cast.SessionRequest, sessionListener: (session: chrome.cast.Session) => void, receiverListener: (receiverAvailability: chrome.cast.ReceiverAvailability) => void, autoJoinPolicy?: chrome.cast.AutoJoinPolicy, defaultActionPolicy?: chrome.cast.DefaultActionPolicy, ); sessionRequest: chrome.cast.SessionRequest; sessionListener: (session: chrome.cast.Session) => void; receiverListener: (receiverAvailability: chrome.cast.ReceiverAvailability) => void; autoJoinPolicy: chrome.cast.AutoJoinPolicy; defaultActionPolicy: chrome.cast.DefaultActionPolicy; } export class Error { /** * @param code * @param opt_description * @param opt_details * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Error */ constructor(code: chrome.cast.ErrorCode, description?: string, details?: Object); code: chrome.cast.ErrorCode; description: string | null; details: object; } export class Image { /** * @param url * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Image */ constructor(url: string); url: string; height: number | null; width: number | null; } export class SenderApplication { /** * @param platform * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.SenderApplication */ constructor(platform: chrome.cast.SenderPlatform); platform: chrome.cast.SenderPlatform; url: string | null; packageId: string | null; } export class SessionRequest { /** * @param appId * @param opt_capabilities * @param opt_timeout * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.SessionRequest */ constructor(appId: string, capabilities?: chrome.cast.Capability[], timeout?: number); appId: string; capabilities: chrome.cast.Capability[]; requestSessionTimeout: number; language: string | null; } export class Session { /** * @param sessionId * @param appId * @param displayName * @param appImages * @param receiver * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Session */ constructor( sessionId: string, appId: string, displayName: string, appImages: chrome.cast.Image[], receiver: chrome.cast.Receiver, ); sessionId: string; appId: string; displayName: string; appImages: chrome.cast.Image[]; receiver: chrome.cast.Receiver; senderApps: chrome.cast.SenderApplication[]; namespaces: Array<{ name: string }>; media: chrome.cast.media.Media[]; status: chrome.cast.SessionStatus; statusText: string | null; transportId: string; /** * @param newLevel * @param successCallback * @param errorCallback */ setReceiverVolumeLevel( newLevel: number, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param muted * @param successCallback * @param errorCallback */ setReceiverMuted( muted: boolean, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param successCallback * @param errorCallback */ leave(successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void): void; /** * @param successCallback * @param errorCallback */ stop(successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void): void; /** * @param namespace * @param message * @param successCallback * @param errorCallback */ sendMessage( namespace: string, message: string | object, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param listener */ addUpdateListener(listener: (isAlive: boolean) => void): void; /** * @param listener */ removeUpdateListener(listener: (isAlive: boolean) => void): void; /** * @param namespace * @param listener */ addMessageListener(namespace: string, listener: (namespace: string, message: string) => void): void; /** * @param namespace * @param listener */ removeMessageListener(namespace: string, listener: (namespace: string, message: string) => void): void; /** * @param listener */ addMediaListener(listener: (media: chrome.cast.media.Media) => void): void; /** * @param listener */ removeMediaListener(listener: (media: chrome.cast.media.Media) => void): void; /** * @param loadRequest * @param successCallback * @param errorCallback */ loadMedia( loadRequest: chrome.cast.media.LoadRequest, successCallback: (media: chrome.cast.media.Media) => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param queueLoadRequest * @param successCallback * @param errorCallback */ queueLoad( queueLoadRequest: chrome.cast.media.QueueLoadRequest, successCallback: (media: chrome.cast.media.Media) => void, errorCallback: (error: chrome.cast.Error) => void, ): void; } export class Receiver { /** * @param label * @param friendlyName * @param opt_capabilities * @param opt_volume * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Receiver */ constructor( label: string, friendlyName: string, capabilities?: chrome.cast.Capability[], volume?: chrome.cast.Volume, ); label: string; friendlyName: string; capabilities: chrome.cast.Capability[]; volume: chrome.cast.Volume; receiverType: chrome.cast.ReceiverType; displayStatus: chrome.cast.ReceiverDisplayStatus; } export class ReceiverDisplayStatus { /** * @param statusText * @param appImages * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.ReceiverDisplayStatus */ constructor(statusText: string, appImages: chrome.cast.Image[]); statusText: string; appImages: chrome.cast.Image[]; } export class Volume { /** * @param opt_level * @param opt_muted * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Volume */ constructor(level?: number, muted?: boolean); level: number | null; muted: boolean | null; } } export namespace cast.media { export var DEFAULT_MEDIA_RECEIVER_APP_ID: string; /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.MediaCommand */ export enum MediaCommand { PAUSE = "pause", SEEK = "seek", STREAM_VOLUME = "stream_volume", STREAM_MUTE = "stream_mute", } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.MetadataType */ export enum MetadataType { GENERIC, TV_SHOW, MOVIE, MUSIC_TRACK, PHOTO, } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.PlayerState */ export enum PlayerState { IDLE = "IDLE", PLAYING = "PLAYING", PAUSED = "PAUSED", BUFFERING = "BUFFERING", } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.ResumeState */ export enum ResumeState { PLAYBACK_START = "PLAYBACK_START", PLAYBACK_PAUSE = "PLAYBACK_PAUSE", } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.StreamType */ export enum StreamType { BUFFERED = "BUFFERED", LIVE = "LIVE", OTHER = "OTHER", } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.IdleReason */ export enum IdleReason { CANCELLED = "CANCELLED", INTERRUPTED = "INTERRUPTED", FINISHED = "FINISHED", ERROR = "ERROR", } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.RepeatMode */ export enum RepeatMode { OFF = "REPEAT_OFF", ALL = "REPEAT_ALL", SINGLE = "REPEAT_SINGLE", ALL_AND_SHUFFLE = "REPEAT_ALL_AND_SHUFFLE", } export class QueueItem { /** * @param mediaInfo * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.QueueItem */ constructor(mediaInfo: chrome.cast.media.MediaInfo); activeTrackIds: Number[]; autoplay: boolean; customData: Object; itemId: number; media: chrome.cast.media.MediaInfo; preloadTime: number; startTime: number; } export class QueueLoadRequest { /** * @param items * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.QueueLoadRequest */ constructor(items: chrome.cast.media.QueueItem[]); customData: Object; items: chrome.cast.media.QueueItem[]; repeatMode: chrome.cast.media.RepeatMode; startIndex: number; } export class QueueInsertItemsRequest { /** * @param itemsToInsert * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.QueueInsertItemsRequest */ constructor(itemsToInsert: chrome.cast.media.QueueItem[]); customData: Object; insertBefore: number; items: chrome.cast.media.QueueItem[]; } export class QueueRemoveItemsRequest { /** * @param itemIdsToRemove * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.QueueRemoveItemsRequest */ constructor(itemIdsToRemove: number[]); customData: Object; itemIds: number[]; } export class QueueReorderItemsRequest { /** * @param itemIdsToReorder * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.QueueReorderItemsRequest */ constructor(itemIdsToReorder: number[]); customData: Object; insertBefore: number; itemIds: number[]; } export class QueueUpdateItemsRequest { /** * @param itemsToUpdate * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.QueueUpdateItemsRequest */ constructor(itemsToUpdate: chrome.cast.media.QueueItem[]); customData: Object; item: chrome.cast.media.QueueItem[]; } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.TrackType */ export enum TrackType { TEXT = "TEXT", AUDIO = "AUDIO", VIDEO = "VIDEO", } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.TextTrackType */ export enum TextTrackType { SUBTITLES = "SUBTITLES", CAPTIONS = "CAPTIONS", DESCRIPTIONS = "DESCRIPTIONS", CHAPTERS = "CHAPTERS", METADATA = "METADATA", } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.TextTrackEdgeType */ export enum TextTrackEdgeType { NONE = "NONE", OUTLINE = "OUTLINE", DROP_SHADOW = "DROP_SHADOW", RAISED = "RAISED", DEPRESSED = "DEPRESSED", } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.TextTrackWindowType */ export enum TextTrackWindowType { NONE = "NONE", NORMAL = "NORMAL", ROUNDED_CORNERS = "ROUNDED_CORNERS", } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.TextTrackFontGenericFamily */ export enum TextTrackFontGenericFamily { SANS_SERIF = "SANS_SERIF", MONOSPACED_SANS_SERIF = "MONOSPACED_SANS_SERIF", SERIF = "SERIF", MONOSPACED_SERIF = "MONOSPACED_SERIF", CASUAL = "CASUAL", CURSIVE = "CURSIVE", SMALL_CAPITALS = "SMALL_CAPITALS", } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.TextTrackFontStyle */ export enum TextTrackFontStyle { NORMAL = "NORMAL", BOLD = "BOLD", BOLD_ITALIC = "BOLD_ITALIC", ITALIC = "ITALIC", } export class GetStatusRequest { /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.GetStatusRequest */ constructor(); customData: Object; } export class PauseRequest { /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.PauseRequest */ constructor(); customData: Object; } export class PlayRequest { /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.PlayRequest */ constructor(); customData: Object; } export class SeekRequest { /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.SeekRequest */ constructor(); currentTime: number; resumeState: chrome.cast.media.ResumeState; customData: Object; } export class StopRequest { /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.StopRequest */ constructor(); customData: Object; } export class VolumeRequest { /** * @param volume * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.VolumeRequest */ constructor(volume: chrome.cast.Volume); volume: chrome.cast.Volume; customData: Object; } export class LoadRequest { /** * @param mediaInfo * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.LoadRequest */ constructor(mediaInfo: chrome.cast.media.MediaInfo); activeTrackIds: number[]; autoplay: boolean; currentTime: number; customData: Object; media: chrome.cast.media.MediaInfo; playbackRate?: number | undefined; } export class EditTracksInfoRequest { /** * @param opt_activeTrackIds * @param opt_textTrackStyle * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.EditTracksInfoRequest */ constructor(activeTrackIds?: number[], textTrackStyle?: chrome.cast.media.TextTrackStyle); activeTrackIds: number[]; textTrackStyle: chrome.cast.media.TextTrackStyle; } export class GenericMediaMetadata { images: chrome.cast.Image[]; metadataType: chrome.cast.media.MetadataType; releaseDate: string; /** @deprecated Use releaseDate instead. */ releaseYear: number; subtitle: string; title: string; /** @deprecated Use metadataType instead. */ type: chrome.cast.media.MetadataType; } export class MovieMediaMetadata { /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.MovieMediaMetadata */ constructor(); images: chrome.cast.Image[]; metadataType: chrome.cast.media.MetadataType; releaseDate: string; /** @deprecated Use releaseDate instead. */ releaseYear: number; subtitle: string; title: string; studio: string; /** @deprecated Use metadataType instead. */ type: chrome.cast.media.MetadataType; } export class TvShowMediaMetadata { /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TvShowMediaMetadata */ constructor(); metadataType: chrome.cast.media.MetadataType; seriesTitle: string; title: string; season: number; episode: number; images: chrome.cast.Image[]; originalAirdate: string; /** @deprecated Use metadataType instead. */ type: chrome.cast.media.MetadataType; /** @deprecated Use title instead. */ episodeTitle: string; /** @deprecated Use season instead. */ seasonNumber: number; /** @deprecated Use episode instead. */ episodeNumber: number; /** @deprecated Use originalAirdate instead. */ releaseYear: number; } export class MusicTrackMediaMetadata { /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.MusicTrackMediaMetadata */ constructor(); metadataType: chrome.cast.media.MetadataType; albumName: string; title: string; albumArtist: string; artist: string; composer: string; songName: string; trackNumber: number; discNumber: number; images: chrome.cast.Image[]; releaseDate: string; /** @deprecated Use metadataType instead. */ type: chrome.cast.media.MetadataType; /** @deprecated Use artist instead. */ artistName: string; /** @deprecated Use releaseDate instead. */ releaseYear: number; } export class PhotoMediaMetadata { /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.PhotoMediaMetadata */ constructor(); metadataType: chrome.cast.media.MetadataType; title: string; artist: string; location: string; images: chrome.cast.Image[]; latitude: number; longitude: number; width: number; height: number; creationDateTime: string; /** @deprecated Use metadataType instead. */ type: chrome.cast.media.MetadataType; } export class MediaInfo { /** * @param contentId * @param contentType * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.MediaInfo */ constructor(contentId: string, contentType: string); contentId: string; streamType: chrome.cast.media.StreamType; contentType: string; metadata: any; duration?: number | null; tracks?: chrome.cast.media.Track[] | null; textTrackStyle?: chrome.cast.media.TextTrackStyle | null; customData?: Object | null; } export class Media { /** * @param sessionId * @param mediaSessionId * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.Media */ constructor(sessionId: string, mediaSessionId: number); activeTrackIds?: number[] | null; currentItemId?: number | null; customData?: Object | null; idleReason: chrome.cast.media.IdleReason | null; items?: chrome.cast.media.QueueItem[] | null; liveSeekableRange?: chrome.cast.media.LiveSeekableRange | undefined; loadingItemId?: number | null; media?: chrome.cast.media.MediaInfo | null; mediaSessionId: number; playbackRate: number; playerState: chrome.cast.media.PlayerState; preloadedItemId?: number | null; repeatMode: chrome.cast.media.RepeatMode; sessionId: string; supportedMediaCommands: chrome.cast.media.MediaCommand[]; volume: chrome.cast.Volume; /** @deprecated Use getEstimatedTime instead */ currentTime: number; /** * @param getStatusRequest * @param successCallback * @param errorCallback */ getStatus( getStatusRequest: chrome.cast.media.GetStatusRequest, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param playRequest * @param successCallback * @param errorCallback */ play( playRequest: chrome.cast.media.PlayRequest, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param pauseRequest * @param successCallback * @param errorCallback */ pause( pauseRequest: chrome.cast.media.PauseRequest, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param seekRequest * @param successCallback * @param errorCallback */ seek( seekRequest: chrome.cast.media.SeekRequest, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param stopRequest * @param successCallback * @param errorCallback */ stop( stopRequest: chrome.cast.media.StopRequest, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param volumeRequest * @param successCallback * @param errorCallback */ setVolume( volumeRequest: chrome.cast.media.VolumeRequest, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param editTracksInfoRequest * @param successCallback * @param errorCallback */ editTracksInfo( editTracksInfoRequest: chrome.cast.media.EditTracksInfoRequest, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param command * @return whether or not the receiver supports the given chrome.cast.media.MediaCommand */ supportsCommand(command: chrome.cast.media.MediaCommand): boolean; /** * @param listener */ addUpdateListener(listener: (isAlive: boolean) => void): void; /** * @param listener */ removeUpdateListener(listener: (isAlive: boolean) => void): void; /** * @return * @suppress {deprecated} Uses currentTime member to compute estimated time. */ getEstimatedTime(): number; /** * @param item * @param successCallback * @param errorCallback */ queueAppendItem( item: chrome.cast.media.QueueItem, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param queueInsertItemsRequest * @param successCallback * @param errorCallback */ queueInsertItems( queueInsertItemsRequest: chrome.cast.media.QueueInsertItemsRequest, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param itemId * @param successCallback * @param errorCallback */ queueJumpToItem( itemId: number, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param itemId * @param newIndex * @param successCallback * @param errorCallback */ queueMoveItemToNewIndex( itemId: number, newIndex: number, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param successCallback * @param errorCallback */ queueNext(successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void): void; /** * @param successCallback * @param errorCallback */ queuePrev(successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void): void; /** * @param itemId * @param successCallback * @param errorCallback */ queueRemoveItem( itemId: number, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param queueReorderItemsRequest * @param successCallback * @param errorCallback */ queueReorderItems( queueReorderItemsRequest: chrome.cast.media.QueueReorderItemsRequest, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param repeatMode * @param successCallback * @param errorCallback */ queueSetRepeatMode( repeatMode: chrome.cast.media.RepeatMode, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; /** * @param queueUpdateItemsRequest * @param successCallback * @param errorCallback */ queueUpdateItems( queueUpdateItemsRequest: chrome.cast.media.QueueUpdateItemsRequest, successCallback: () => void, errorCallback: (error: chrome.cast.Error) => void, ): void; } export class Track { /** * @param trackId * @param trackType * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.Track */ constructor(trackId: number, trackType: chrome.cast.media.TrackType); trackId: number; trackContentId: string; trackContentType: string; type: chrome.cast.media.TrackType; name: string; language: string; subtype: chrome.cast.media.TextTrackType; customData: Object; } export class TextTrackStyle { /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TextTrackStyle */ constructor(); foregroundColor: string; backgroundColor: string; edgeType: chrome.cast.media.TextTrackEdgeType; edgeColor: string; windowType: chrome.cast.media.TextTrackWindowType; windowColor: string; windowRoundedCornerRadius: number; fontScale: number; fontFamily: string; fontGenericFamily: chrome.cast.media.TextTrackFontGenericFamily; fontStyle: chrome.cast.media.TextTrackFontStyle; customData: Object; } export class LiveSeekableRange { /** * @param start * @param end * @param isMovingWindow * @param isLiveDone * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.LiveSeekableRange */ constructor(start?: number, end?: number, isMovingWindow?: boolean, isLiveDone?: boolean); start?: number | undefined; end?: number | undefined; isMovingWindow?: boolean | undefined; isLiveDone?: boolean | undefined; } } /** * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.timeout */ export namespace cast.media.timeout { export var load: number; export var getStatus: number; export var play: number; export var pause: number; export var seek: number; export var stop: number; export var setVolume: number; export var editTracksInfo: number; export var queueInsert: number; export var queueLoad: number; export var queueRemove: number; export var queueReorder: number; export var queueUpdate: number; } }