UNPKG

@duell10111/youtubei.js

Version:

A JavaScript client for YouTube's private API, known as InnerTube.

49 lines (48 loc) 2.77 kB
import { HorizontalListContinuation } from '../../parser/index.js'; import type { Session } from '../index.js'; import type { InnerTubeClient } from '../../types/index.js'; import NavigationEndpoint from '../../parser/classes/NavigationEndpoint.js'; import { HomeFeed, VideoInfo, MyYoutubeFeed } from '../../parser/yttv/index.js'; import type { YTNode } from '../../parser/helpers.js'; import Playlist from '../../parser/yttv/Playlist.js'; import Library from '../../parser/yttv/Library.js'; import SubscriptionsFeed from '../../parser/yttv/SubscriptionsFeed.js'; import PlaylistsFeed from '../../parser/yttv/PlaylistsFeed.js'; export default class TV { #private; constructor(session: Session); getInfo(target: string | NavigationEndpoint, client?: InnerTubeClient): Promise<VideoInfo>; getHomeFeed(): Promise<HomeFeed>; getLibrary(): Promise<Library>; getSubscriptionsFeed(): Promise<SubscriptionsFeed>; /** * Retrieves the user's playlists. */ getPlaylists(): Promise<PlaylistsFeed>; /** * Retrieves the user's My YouTube page. */ getMyYoutubeFeed(): Promise<MyYoutubeFeed>; getPlaylist(id: string): Promise<Playlist>; fetchContinuationData(item: YTNode, client?: InnerTubeClient): Promise<import("../../parser/continuations.js").ItemSectionContinuation | import("../../parser/continuations.js").SectionListContinuation | HorizontalListContinuation | import("../../parser/continuations.js").LiveChatContinuation | import("../../parser/continuations.js").MusicPlaylistShelfContinuation | import("../../parser/continuations.js").MusicShelfContinuation | import("../../parser/continuations.js").GridContinuation | import("../../parser/continuations.js").PlaylistPanelContinuation | import("../../parser/continuations.js").PlaylistVideoListContinuation | import("../../parser/continuations.js").TvSurfaceContentContinuation | import("../../parser/continuations.js").ContinuationCommand | undefined>; /** * Adds videos to a given playlist. * @param playlist_id - The playlist ID. * @param video_ids - An array of video IDs to add to the playlist. * @param client - Innertube Client to use for request */ addVideos(playlist_id: string, video_ids: string[], client?: InnerTubeClient): Promise<{ playlist_id: string; action_result: any; }>; /** * Adds a given playlist to the library of a user. * @param playlist_id - The playlist ID. */ addToLibrary(playlist_id: string): Promise<import("../Actions.js").ApiResponse>; /** * Remove a given playlist to the library of a user. * @param playlist_id - The playlist ID. */ removeFromLibrary(playlist_id: string): Promise<import("../Actions.js").ApiResponse>; }