import { Thumbnails, YoutubeRawData } from "../../common"; import { Base, BaseProperties } from "../Base"; import { BaseChannel } from "../BaseChannel"; import { PlaylistCompact } from "../PlaylistCompact"; import { VideoCompact } from "../VideoCompact"; import { VideoCaptions } from "./VideoCaptions"; import { VideoRelated } from "./VideoRelated"; /** @hidden */ export interface BaseVideoProperties extends BaseProperties { id?: string; title?: string; thumbnails?: Thumbnails; description?: string; channel?: BaseChannel | null; uploadDate?: string; viewCount?: number | null; likeCount?: number | null; isLiveContent?: boolean; tags?: string[]; formats?: YoutubeRawData[]; adaptiveFormats?: YoutubeRawData[]; } /** Represents a Video */ export declare class BaseVideo extends Base implements BaseVideoProperties { id: string; /** The title of this video */ title: string; /** Thumbnails of the video with different sizes */ thumbnails: Thumbnails; /** The description of this video */ description: string; /** The channel that uploaded this video */ channel: BaseChannel | null; /** The collaborators of this video */ channels: BaseChannel[] | null; /** The date this video is uploaded at */ uploadDate: string; /** How many view does this video have, null if the view count is hidden */ viewCount: number | null; /** How many like does this video have, null if the like count is hidden */ likeCount: number | null; /** Whether this video is a live content or not */ isLiveContent: boolean; /** The tags of this video */ /** The formats of the video */ formats: YoutubeRawData[]; /** The adaptive formats of the video */ adaptiveFormats: YoutubeRawData[]; tags: string[]; /** Continuable of videos / playlists related to this video */ related: VideoRelated; /** Captions helper class of this video (if caption exists in this video) */ captions: VideoCaptions | null; /** @hidden */ constructor(attr: BaseVideoProperties); /** * Load this instance with raw data from Youtube * * @hidden */ load(data: YoutubeRawData): BaseVideo; /** * Video / playlist to play next after this video, alias to * ```js * video.related.items[0] * ``` */ get upNext(): VideoCompact | PlaylistCompact; }