UNPKG

@iptv/xtream-api

Version:

Standardized access to Xtream compatible player API

1,113 lines (1,078 loc) 35.2 kB
import { CamelCaseKeys } from 'camelcase-keys'; declare type Prettify<T> = { [K in keyof T]: T[K]; } & {}; /** * Standardized serializers for the Xtream API * * This serializer will transform the API response into a standardized format * ensuring dates are dates, keys are camel case, keys are consistent, etc. */ export declare const standardizedSerializer: { type: string; serializers: { profile: (input: XtreamUserProfile) => StandardXtreamProfile; serverInfo: (input: XtreamServerInfo) => StandardXtreamServerInfo; channelCategories: (input: XtreamCategory[]) => StandardXtreamCategory[]; movieCategories: (input: XtreamCategory[]) => StandardXtreamCategory[]; showCategories: (input: XtreamCategory[]) => StandardXtreamCategory[]; channels: (input: XtreamChannel[]) => StandardXtreamChannel[]; movies: (input: XtreamMoviesListing[]) => StandardXtreamMovieListing[]; movie: (input: XtreamMovie) => StandardXtreamMovie; shows: (input: XtreamShowListing[]) => Omit<StandardXtreamShow, "seasons">[]; show: (input: XtreamShow) => StandardXtreamShow; shortEPG: (input: XtreamShortEPG) => StandardXtreamShortEPGListing[]; fullEPG: (input: XtreamFullEPG) => StandardXtreamFullEPGListing[]; }; }; /** * Standardized Xtream category information * * This type represents a content category in the Xtream system in a standardized format */ export declare type StandardXtreamCategory = { /** The unique identifier for the category */ id: string; /** The display name of the category */ name: string; /** The ID of the parent category, if applicable */ parentId: string; }; /** * Standardized Xtream channel information * * This type represents a live TV channel in the Xtream system in a standardized format */ export declare type StandardXtreamChannel = { /** The unique identifier for the channel */ id: string; /** The name of the channel */ name: string; /** The Electronic Program Guide channel ID */ epgId: string; /** The position/order number of the channel */ number: number; /** Flag indicating if TV archive is available */ tvArchive: boolean; /** The duration of available archive in days */ tvArchiveDuration: number; /** The URL for the channel's logo */ logo: string; /** The date when the channel was added to the system */ createdAt: Date; /** All category IDs the channel belongs to */ categoryIds?: string[]; /** URL to access the stream */ url?: string; }; /** * Standardized Xtream episode information * * This type represents an episode in a show in the Xtream system in a standardized format */ export declare type StandardXtreamEpisode = { /** The unique identifier for the episode */ id: string; /** The episode number within the season */ number: number; /** The title of the episode */ title: string; /** The synopsis/description of the episode */ plot: string | null; /** The release date of the episode */ releaseDate: Date | null; /** The duration of the episode in seconds */ duration: number; /** The formatted duration of the episode */ durationFormatted: string; /** The URL for the episode's poster image */ poster: string; /** The URL for the episode's cover image */ cover: string; /** The id of the episode in The Movie Database */ tmdbId: string; /** The date when the episode was added to the system */ createdAt: Date; /** The ID of the season this episode belongs to */ seasonId?: string; /** The ID of the show this episode belongs to */ showId: string; /** Vote average from rating votes */ voteAverage: number; /** URL to access the stream */ url?: string; /** Array of available subtitles */ subtitles: string[]; /** Video stream information */ video?: Partial<CamelCaseKeys<XtreamVideoInfo, true>>; /** Audio stream information */ audio?: Partial<CamelCaseKeys<XtreamAudioInfo, true>>; /** Bitrate of the stream */ bitrate?: number; }; /** * Standardized Xtream full EPG listing information * * This type represents a full EPG listing for a channel in a standardized format with additional information */ export declare type StandardXtreamFullEPGListing = { /** The unique identifier for the listing */ id: string; /** The EPG ID of the listing */ epgId: string; /** The title of the listing */ title: string; /** The language of the listing */ language: string; /** The start time of the listing */ start: Date; /** The end time of the listing */ end: Date; /** The description of the listing */ description: string; /** The channel ID of the listing */ channelId: string; /** Flag indicating if the listing is currently playing */ nowPlaying: boolean; /** Flag indicating if the listing has an archive available */ hasArchive: boolean; }; /** * Standardized Xtream TV movie information */ export declare type StandardXtreamMovie = { /** The unique identifier for the stream */ id: string; /** The URL to the movie's Kinopoisk page */ informationUrl: string; /** The ID of the movie in The Movie Database (TMDB) */ tmdbId: string; /** The title of the movie */ name: string; /** The original title of the movie */ originalName: string; /** The URL for the movie's cover image */ cover: string; /** The URL for the movie's image */ poster: string; /** The release date of the movie */ releaseDate: Date | null; /** The YouTube ID or URL for the trailer */ youtubeId: string | null; /** The director(s) of the movie */ director: string[]; /** The actors in the movie */ actors: string[]; /** The cast of the movie */ cast: string[]; /** The synopsis/description of the movie */ description: string | null; /** The plot of the movie */ plot: string | null; /** The age abd MPAA rating of the movie */ rating: { age: number; mpaa: string; }; /** The country of origin for the movie */ country: string; /** The genre(s) of the movie */ genre: string[]; /** The duration of the movie in seconds */ duration: number; /** The formatted duration of the movie */ durationFormatted: string; /** Array of available subtitles */ subtitles: string[]; /** The rating of the movie */ voteAverage: number; /** The date when the movie was added to the system */ createdAt: Date; /** All category IDs the movie belongs to */ categoryIds: string[]; /** URL to access the stream */ url?: string; /** Video stream information */ video?: Partial<CamelCaseKeys<XtreamVideoInfo, true>>; /** Audio stream information */ audio?: Partial<CamelCaseKeys<XtreamAudioInfo, true>>; /** Bitrate of the stream */ bitrate?: number; }; /** * Standardized Xtream movie listing * * This type represents a movie in the Xtream system in a standardized format */ export declare type StandardXtreamMovieListing = { /** The unique identifier for the movie */ id: string; /** The title of the movie */ name: string; /** The synopsis/description of the movie */ plot: string | null; /** The movie's rating */ voteAverage: number; /** The URL for the movie's poster */ poster: string; /** The release date of the movie */ releaseDate: Date | null; /** The runtime of the movie in seconds */ duration: number; /** Youtube ID of trailer */ youtubeId: string | null; /** The cast of the movie as an array */ cast: string[]; /** The director(s) of the movie as an array */ director: string[]; /** The genres of the movie as an array */ genre: string[]; /** The date when the movie was added to the system */ createdAt: Date; /** All category IDs the movie belongs to */ categoryIds?: string[]; /** URL to access the stream */ url?: string; }; /** * Standardized Xtream profile information * * This type represents the complete user profile information in a standardized format */ export declare type StandardXtreamProfile = { /** The unique identifier for the profile (username) */ id: string; /** The username of the account */ username: string; /** The password of the account */ password: string; /** Account status (e.g., "Active") */ status: string; /** Number of active connections currently used */ activeConnections: number; /** Maximum allowed concurrent connections */ maxConnections: number; /** Flag indicating if the account is a trial */ isTrial: boolean; /** The date when the account was created */ createdAt: Date; /** The expiration date of the account */ expiresAt: Date; }; /** * Standardized Xtream season information * * This type represents a season of a show in the Xtream system in a standardized format */ export declare type StandardXtreamSeason = { /** The unique identifier for the season */ id: string; /** The name of the season */ name: string; /** The number of episodes in the season */ episodeCount: number; /** The overview/synopsis of the season */ overview: string; /** The season number */ number: number; /** The vote average of the season */ voteAverage: number; /** The URL for the season's cover image */ cover: string; /** The date when the season first aired */ releaseDate: Date | null; /** The ID of the show this season belongs to */ showId: string; /** Episodes in this season */ episodes?: StandardXtreamEpisode[]; }; /** * Standardized Xtream server information * * This type represents the server-specific information in a standardized format */ export declare type StandardXtreamServerInfo = { /** The unique identifier for the server (URL) */ id: string; /** The base URL of the Xtream server */ url: string; /** The HTTP port number */ port: string; /** The HTTPS port number */ httpsPort: string; /** The protocol used by the server */ serverProtocol: string; /** The RTMP port number for streaming */ rtmpPort: string; /** The timezone setting of the server */ timezone: string; /** The current server time as a Date object */ timeNow: Date; }; /** * Standardized Xtream short EPG listing information * * This type represents a short EPG listing for a channel in a standardized format */ export declare type StandardXtreamShortEPGListing = { /** The unique identifier for the listing */ id: string; /** The EPG ID of the listing */ epgId: string; /** The title of the listing */ title: string; /** The language of the listing */ language: string; /** The start time of the listing */ start: Date; /** The end time of the listing */ end: Date; /** The description of the listing */ description: string; /** The channel ID of the listing */ channelId: string; }; /** * Standardized Xtream show information * * This type represents a show in the Xtream system in a standardized format */ export declare type StandardXtreamShow = { /** The unique identifier for the show */ id: string; /** The title of the show */ name: string; /** The synopsis/description of the show */ plot: string | null; /** The show's rating */ voteAverage: number; /** The URL for the show's poster image */ poster: string; /** The URL for the show's cover image */ cover: string; /** The release date of the show */ releaseDate: Date | null; /** The average runtime of episodes in seconds */ duration: number; /** Youtube ID of trailer */ youtubeId: string | null; /** The cast members of the show as an array */ cast: string[]; /** The director(s) of the show as an array */ director: string[]; /** The genre(s) of the show as an array */ genre: string[]; /** The date when the show was last updated */ updatedAt: Date; /** All category IDs the show belongs to */ categoryIds?: string[]; /** Array of seasons in the show */ seasons: StandardXtreamSeason[]; }; /** * Xtream audio information * * This type represents the technical details of an audio stream */ declare type XtreamAudioInfo = { /** The stream index in the container */ index: number; /** The short name of the codec */ codec_name: string; /** The full name of the codec */ codec_long_name: string; /** The type of the codec (e.g., "audio") */ codec_type: string; /** The codec tag as a string */ codec_tag_string: string; /** The codec tag */ codec_tag: string; /** The sample format */ sample_fmt: string; /** The sample rate in Hz */ sample_rate: string; /** The number of audio channels */ channels: number; /** The channel layout (e.g., "stereo") */ channel_layout: string; /** The bits per sample */ bits_per_sample: number; /** The real frame rate */ r_frame_rate: string; /** The average frame rate */ avg_frame_rate: string; /** The time base */ time_base: string; /** The starting presentation timestamp */ start_pts: number; /** The starting time */ start_time: string; /** The bitrate in bits per second */ bit_rate: string; /** The stream disposition flags */ disposition: { /** Default flag */ default: number; /** Dub flag */ dub: number; /** Original flag */ original: number; /** Comment flag */ comment: number; /** Lyrics flag */ lyrics: number; /** Karaoke flag */ karaoke: number; /** Forced flag */ forced: number; /** Hearing impaired flag */ hearing_impaired: number; /** Visual impaired flag */ visual_impaired: number; /** Clean effects flag */ clean_effects: number; /** Attached picture flag */ attached_pic: number; /** Timed thumbnails flag */ timed_thumbnails: number; /** Captions flag */ captions: number; /** Descriptions flag */ descriptions: number; /** Metadata flag */ metadata: number; /** Dependent flag */ dependent: number; /** Still image flag */ still_image: number; }; /** The metadata tags */ tags: { [key: string]: string; }; }; /** * Xtream category information * * This type represents a content category in the Xtream system */ declare type XtreamCategory = { /** The unique identifier for the category */ category_id: string; /** The display name of the category */ category_name: string; /** The ID of the parent category, if applicable */ parent_id: number; }; /** * Xtream channel information * * This type represents a live TV channel in the Xtream system */ declare type XtreamChannel = { /** The position/order number of the channel */ num: number; /** The name of the channel */ name: string; /** The type of stream (e.g., "live") */ stream_type: string; /** The unique identifier for the stream */ stream_id: number; /** The URL for the channel's logo */ stream_icon: string; /** The URL for the channel's cover image */ thumbnail: string; /** The Electronic Program Guide channel ID */ epg_channel_id: string; /** The date when the channel was added to the system */ added: string; /** The primary category ID of the channel */ category_id: string; /** All category IDs the channel belongs to */ category_ids: number[]; /** Custom stream identifier */ custom_sid: string; /** Flag indicating if TV archive is available (0/1) */ tv_archive: number; /** The direct URL to the channel's source */ direct_source: string; /** The duration of available archive in days */ tv_archive_duration: number; /** The URL to access the channel */ url?: string; }; /** * Xtream EPG listing information * * This type represents a single EPG listing for a channel */ declare type XtreamEPGListing = { /** The unique identifier for the listing */ id: string; /** The EPG ID of the listing */ epg_id: string; /** The title of the listing */ title: string; /** The language of the listing */ lang: string; /** The start time of the listing */ start: string; /** The end time of the listing */ end: string; /** The description of the listing */ description: string; /** The channel ID of the listing */ channel_id: string; /** The start timestamp of the listing */ start_timestamp: string; /** The stop timestamp of the listing */ stop_timestamp: string; /** The stop time of the listing */ stop: string; }; /** * Xtream episode information * * This type represents an episode in a show in the Xtream system */ declare type XtreamEpisode = { /** The unique identifier for the episode */ id: string; /** The episode number within the season */ episode_num: string; /** The title of the episode */ title: string; /** The file format extension */ container_extension: string; /** Detailed information about the episode */ info: XtreamEpisodeInfo; /** Custom stream identifier */ custom_sid: string; /** The date when the episode was added to the system */ added: string; /** The season number the episode belongs to */ season: number; /** The direct URL to the episode's source */ direct_source: string; /** URLs to subtitle files */ subtitles: string[]; /** The URL to access the episode */ url?: string; }; /** * Xtream episode information * * This type represents the information about an episode in a show */ declare type XtreamEpisodeInfo = { /** The air date of the episode */ air_date?: string; /** The release date of the episode */ release_date: string | null; /** The plot of the episdoe */ plot: string | null; /** The rating of the episode */ rating: number; /** The image of the episode */ movie_image: string; /** The big cover of the episode */ cover_big: string; /** The duration of the episode in seconds */ duration_secs: number; /** The formatted duration of the episode */ duration: string; /** The id of the episode in The Movie Database */ tmdb_id: number; /** The video information of the episode */ video?: XtreamVideoInfo; /** The audio information of the episode */ audio?: XtreamAudioInfo; /** The bitrate of the episode */ bitrate: number; /** The season number of the episode */ season: number; }; /** * Xtream EPG information * * This type represents all EPG information for a channel stored in the Xtream system */ declare type XtreamFullEPG = { /** The list of EPG listings */ epg_listings: XtreamFullEPGListing[]; }; /** * Xtream full EPG listing information * * This type represents a single EPG listing for a channel with additional information */ declare type XtreamFullEPGListing = Prettify<Omit<XtreamEPGListing, 'stop'> & { /** Flag indicating if the listing is currently playing */ now_playing: number; /** Flag indicating if the listing has an archive available */ has_archive: number; }>; /** * Xtream movie information * * This type represents the detailed information about a movie */ declare type XtreamMovie = { /** The information about the movie */ info: XtreamMovieInfo; /** Extra details of the movie */ movie_data: XtreamMovieData; url?: string; }; /** * Xtream movie data * * This type represents the extra details of a movie stream */ declare type XtreamMovieData = { /** The unique identifier for the stream */ stream_id: number; /** The title of the movie */ name: string; /** The title of the movie */ title: string; /** The year the movie was released */ year: string | null; /** The date when the movie was added to the system */ added: string; /** The primary category ID of the movie */ category_id: string; /** All category IDs the movie belongs to */ category_ids: number[]; /** The file format extension */ container_extension: string; /** Custom stream identifier */ custom_sid: string; /** The direct URL to the movie's source */ direct_source: string; }; /** * Xtream movie information * * This type represents the technical details of a movie stream */ declare type XtreamMovieInfo = { /** The URL to the movie's Kinopoisk page */ kinopoisk_url: string; /** The ID of the movie in The Movie Database (TMDB) */ tmdb_id: number; /** The title of the movie */ name: string; /** The original title of the movie */ o_name: string; /** The URL for the movie's cover image */ cover_big: string; /** The URL for the movie's image */ movie_image: string; /** The release date of the movie */ release_date: string | null; /** The runtime of the movie in minutes */ episode_run_time: number | null; /** The YouTube ID or URL for the trailer */ youtube_trailer: string | null; /** The director(s) of the movie */ director: string | null; /** The actors in the movie */ actors: string | null; /** The cast of the movie */ cast: string | null; /** The synopsis/description of the movie */ description: string | null; /** The plot of the movie */ plot: string | null; /** The age rating of the movie */ age: string; /** The MPAA rating of the movie */ mpaa_rating: string; /** The number of ratings on Kinopoisk */ rating_count_kinopoisk: number; /** The country of origin for the movie */ country: string; /** The genre(s) of the movie */ genre: string | null; /** Array of backdrop image URLs */ backdrop_path: string[]; /** The duration of the movie in seconds */ duration_secs: number; /** The formatted duration of the movie */ duration: string; /** The bitrate of the movie */ bitrate: number; /** The release date of the movie */ releasedate: string | null; /** Array of available subtitles */ subtitles: string[]; /** The rating of the movie */ rating: number; }; /** * Xtream movie information * * This type represents a movie in the Xtream system */ declare type XtreamMoviesListing = { /** The position/order number of the movie */ num: number; /** The title of the movie */ name: string; /** Year released */ year: string | null; /** The title of the movie */ title: string; /** The type of stream (e.g., "movie") */ stream_type: string; /** The unique identifier for the stream */ stream_id: number; /** The URL for the movie's icon/poster */ stream_icon: string; /** The movie's rating as a string */ rating: number; /** The movie's rating on a 5-point scale */ rating_5based: number; /** The genres of the movie */ genre: string | null; /** The date when the movie was added to the system */ added: string; /** The runtime of the movie in minutes */ episode_run_time: number | null; /** The primary category ID of the movie */ category_id: string; /** All category IDs the movie belongs to */ category_ids: number[]; /** The file format extension */ container_extension: string; /** Custom stream identifier */ custom_sid: any; /** The direct URL to the movie's source */ direct_source: string; /** The release date of the movie */ release_date: string | null; /** The cast of the movie */ cast: string | null; /** The director(s) of the movie */ director: string | null; /** The synopsis/description of the movie */ plot: string | null; /** Youtube ID of the trailer */ youtube_trailer: string | null; /** The URL to access the movie */ url?: string; }; /** * Xtream season information * * This type represents a season of a show in the Xtream system */ declare type XtreamSeason = { /** The unique identifier for the season */ id: number; /** The name of the season */ name: string; /** The number of episodes in the season as a string */ episode_count: number; /** The synopsis/description of the season */ overview: string; /** The date when the season first aired */ air_date: string | null; /** The URL for the season's cover image */ cover: string; /** The season number */ season_number: number; /** The URL for a larger version of the season's cover */ cover_big: string; /** The average rating vote for the season */ vote_average: number; }; /** * Xtream server information * * This type represents the server-specific part of the profile */ declare type XtreamServerInfo = { /** Flag to indicate if it is a XUI instance */ xui: boolean; /** Software version */ version: string; /** Software revision */ revision: string | null; /** The base URL of the Xtream server */ url: string; /** The HTTP port number */ port: string; /** The HTTPS port number */ https_port: string; /** The protocol used by the server */ server_protocol: string; /** The RTMP port number for streaming */ rtmp_port: string; /** The timezone setting of the server */ timezone: string; /** The current server timestamp */ timestamp_now: number; /** The current server time as a formatted string */ time_now: string; }; /** * Xtream short EPG information * * This type represents the short EPG information for a channel */ declare type XtreamShortEPG = { /** The list of EPG listings */ epg_listings: XtreamEPGListing[]; }; /** * Xtream show detailed information * * This type represents the complete information about a show including seasons and episodes */ declare type XtreamShow = { /** Array of seasons in the show */ seasons: XtreamSeason[]; /** Basic information about the show */ info: XtreamShowInfo; /** Object containing episodes grouped by season number */ episodes: { [key: string]: XtreamEpisode[]; }; }; declare type XtreamShowInfo = { /** The title of the show */ name: string; /** The title of the show */ title: string; /** The year of release */ year: string | null; /** The unique identifier for the series, added by this library */ series_id?: number; /** The URL for the show's cover image */ cover: string; /** The synopsis/description of the show */ plot: string | null; /** The cast members of the show */ cast: string | null; /** The director(s) of the show */ director: string | null; /** The genre(s) of the show */ genre: string | null; /** The release date of the show (alternate format) */ releaseDate: string | null; /** The release date of the show */ release_date: string | null; /** The date when the show was last updated */ last_modified: string; /** The show's rating as a string */ rating: string; /** The show's rating on a 5-point scale as a string */ rating_5based: number; /** Array of backdrop image URLs */ backdrop_path: string[]; /** The YouTube ID or URL for the trailer */ youtube_trailer: string | null; /** The average runtime of episodes as a string */ episode_run_time: string | null; /** The primary category ID of the show */ category_id: string; /** All category IDs the show belongs to */ category_ids: number[]; }; /** * Xtream show information * * This type represents a show listing in the Xtream system */ declare type XtreamShowListing = { /** The position/order number of the show */ num: number; /** The title of the show */ name: string; /** The title of the show */ title: string; /** The year of release */ year: string | null; /** The unique identifier for the series */ series_id: number; /** The type of stream (e.g., "series") */ stream_type: string; /** The URL for the show's cover image */ cover: string; /** The synopsis/description of the show */ plot: string | null; /** The cast members of the show */ cast: string | null; /** The director(s) of the show */ director: string | null; /** The genre(s) of the show */ genre: string | null; /** The release date of the show (alternate format) */ releaseDate: string | null; /** The release date of the show */ release_date: string | null; /** The date when the show was last updated */ last_modified: string; /** The show's rating as a string */ rating: string; /** The show's rating on a 5-point scale as a string */ rating_5based: number; /** Array of backdrop image URLs */ backdrop_path: string[]; /** The YouTube ID or URL for the trailer */ youtube_trailer: string | null; /** The average runtime of episodes as a string */ episode_run_time: string | null; /** The primary category ID of the show */ category_id: string; /** All category IDs the show belongs to */ category_ids: number[]; }; /** * Xtream user profile information * * This type represents the user-specific part of the profile */ declare type XtreamUserProfile = { /** The username of the account */ username: string; /** The password of the account */ password: string; /** Any message from the server about the account */ message: string; /** Authentication status (1 for authenticated) */ auth: number; /** Account status (e.g., "Active") */ status: string; /** The expiration date of the account */ exp_date: string; /** Flag indicating if the account is a trial */ is_trial: string; /** Number of active connections currently used */ active_cons: number; /** The date when the account was created */ created_at: string; /** Maximum allowed concurrent connections */ max_connections: string; /** Formats the user is allowed to access */ allowed_output_formats: string[]; }; /** * Xtream video information * * This type represents the technical details of a video stream */ declare type XtreamVideoInfo = { /** The stream index in the container */ index: number; /** The short name of the codec */ codec_name: string; /** The full name of the codec */ codec_long_name: string; /** The codec profile */ profile: string; /** The type of the codec (e.g., "video") */ codec_type: string; /** The codec tag as a string */ codec_tag_string: string; /** The codec tag */ codec_tag: string; /** The width of the video in pixels */ width: number; /** The height of the video in pixels */ height: number; /** The coded width of the video */ coded_width: number; /** The coded height of the video */ coded_height: number; /** Flag indicating if closed captions are available */ closed_captions: number; /** Flag indicating if film grain is present */ film_grain: number; /** Flag indicating if B-frames are used */ has_b_frames: number; /** The sample aspect ratio */ sample_aspect_ratio: string; /** The display aspect ratio */ display_aspect_ratio: string; /** The pixel format */ pix_fmt: string; /** The codec level */ level: number; /** The color range */ color_range: string; /** The color space */ color_space: string; /** The color transfer characteristics */ color_transfer: string; /** The color primaries */ color_primaries: string; /** The chroma sample location */ chroma_location: string; /** The field order */ field_order: string; /** The number of reference frames */ refs: number; /** Flag indicating if AVC format is used */ is_avc: string; /** The NAL unit length size */ nal_length_size: string; /** The real frame rate */ r_frame_rate: string; /** The average frame rate */ avg_frame_rate: string; /** The time base */ time_base: string; /** The starting presentation timestamp */ start_pts: number; /** The starting time */ start_time: string; /** The bits per raw sample */ bits_per_raw_sample: string; /** The size of extra data */ extradata_size: number; /** The stream disposition flags */ disposition: { /** Default flag */ default: number; /** Dub flag */ dub: number; /** Original flag */ original: number; /** Comment flag */ comment: number; /** Lyrics flag */ lyrics: number; /** Karaoke flag */ karaoke: number; /** Forced flag */ forced: number; /** Hearing impaired flag */ hearing_impaired: number; /** Visual impaired flag */ visual_impaired: number; /** Clean effects flag */ clean_effects: number; /** Attached picture flag */ attached_pic: number; /** Timed thumbnails flag */ timed_thumbnails: number; /** Captions flag */ captions: number; /** Descriptions flag */ descriptions: number; /** Metadata flag */ metadata: number; /** Dependent flag */ dependent: number; /** Still image flag */ still_image: number; }; /** The metadata tags */ tags: { [key: string]: string; }; }; export { }