import { Thumbnails, BaseAttributes, Base, Playlist } from "."; import { YoutubeRawData } from "../common"; import Channel from "./Channel"; /** @hidden */ interface PlaylistCompactAttributes extends BaseAttributes { title: string; thumbnails: Thumbnails; channel?: Channel; videoCount: number; } /** Represents a Compact Playlist (e.g. from search result, upNext / related of a video) */ export default class PlaylistCompact extends Base implements PlaylistCompactAttributes { /** The playlist's title */ title: string; /** Thumbnails of the playlist with different sizes */ thumbnails: Thumbnails; /** The channel that made this playlist */ channel?: Channel; /** How many videos in this playlist */ videoCount: number; /** @hidden */ constructor(playlist?: Partial); /** * Load this instance with raw data from Youtube * * @hidden */ load(data: YoutubeRawData): PlaylistCompact; /** * Get {@link Playlist} object based on current playlist id * * Equivalent to * ```js * client.getPlaylist(playlistCompact.id); * ``` */ getPlaylist(): Promise; } export {};