@duell10111/youtubei.js
Version:
A JavaScript client for YouTube's private API, known as InnerTube.
49 lines (48 loc) • 2.77 kB
TypeScript
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>;
}