///
import { GConstructor, Mixin } from './.mixin.helper';
import * as pt from './playlists.types';
export declare type PlaylistsMixin = Mixin;
/**
* @module Playlists
*/
export declare const PlaylistsMixin: ;
getMoodPlaylists(params: string): Promise;
getCharts(country?: string): Promise>;
/**
* @module Playlists
*/
getWatchPlaylist(watchPlaylist: import("./watch.types").getWatchPlaylistOptions): Promise;
getWatchPlaylistShuffle(options: import("./watch.types").getWatchPlaylistShuffleOptions): Promise>;
getHome(limit?: number): Promise;
search(query: string, options?: {
filter?: undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<((Omit<{
category: "Videos";
resultType: "video";
videoId: string;
title: string;
artists: {
name: string;
id: string;
}[];
views?: string | undefined;
duration: string | null;
duration_seconds: number;
}, "category"> & {
category: "Videos" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Songs";
resultType: "song";
videoId: string;
title: string;
artists: {
name: string;
id: string;
}[];
album: {
name: string;
id: string;
} | null;
duration: string | null;
duration_seconds: number;
isExplicit: boolean;
feedbackTokens: {
add: any;
remove: any;
};
}, "category"> & {
category: "Songs" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Albums";
resultType: "album";
browseId: string;
title: string;
type: "Album";
artist: string;
year: string | null;
isExplicit: boolean;
}, "category"> & {
category: "Albums" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Community playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Community playlists" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Featured playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Featured playlists" | "Top result";
thumbnails: import("../types").thumbnails;
}))[]>;
search(query: string, options?: {
filter?: "songs" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Songs";
resultType: "song";
videoId: string;
title: string;
artists: {
name: string;
id: string;
}[];
album: {
name: string;
id: string;
} | null;
duration: string | null;
duration_seconds: number;
isExplicit: boolean;
feedbackTokens: {
add: any;
remove: any;
};
}, "category"> & {
category: "Songs" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "videos" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Videos";
resultType: "video";
videoId: string;
title: string;
artists: {
name: string;
id: string;
}[];
views?: string | undefined;
duration: string | null;
duration_seconds: number;
}, "category"> & {
category: "Videos" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "albums" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Albums";
resultType: "album";
browseId: string;
title: string;
type: "Album";
artist: string;
year: string | null;
isExplicit: boolean;
}, "category"> & {
category: "Albums" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "artists" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Artists";
resultType: "artist";
browseId: string;
artist: string;
shuffleId: string;
radioId: string;
}, "category"> & {
category: "Artists" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "playlists" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<((Omit<{
category: "Community playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Community playlists" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Featured playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Featured playlists" | "Top result";
thumbnails: import("../types").thumbnails;
}))[]>;
search(query: string, options?: {
filter?: "community_playlists" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Community playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Community playlists" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "featured_playlists" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Featured playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Featured playlists" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "uploads" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise;
getArtist(channelId: string): Promise;
getArtistAlbums(channelId: string, params: string): Promise;
getUser(channelId: string): Promise;
getUserPlaylists(channelId: string, params: string): Promise;
getAlbumBrowseId(audioPlaylistId: `OLAK5uy_${string}`): Promise<`MPREb_${string}`>;
getAlbum(browseId: string): Promise;
getSong(videoId: string, signatureTimestamp?: number | undefined): Promise>;
getLyrics(browseId: string | null | undefined): Promise;
getBaseJSUrl(): Promise;
getSignatureTimestamp(url?: string | undefined): Promise;
"__#2@#auth": string | null;
_httpsAgent: import("https").Agent | undefined;
_proxies?: false | import("axios").AxiosProxyConfig | undefined;
_headers: import("../types").Headers;
_context: any;
"__#2@#language": string | undefined;
_parser: import("../parsers/browsing").Parser;
_sapisid: any;
_sendRequest>(endpoint: string, body: Record, additionalParams?: string): Promise;
_sendGetRequest(url: string, params?: Record | undefined): Promise;
checkAuth(): any | null;
_checkAuth(): void;
getAuth(): string | null;
changeLanguage(language: string): Promise;
getLanguage(): string | undefined;
getProxy(): boolean | import("axios").AxiosProxyConfig | undefined;
} & {
/**
* @module Playlists
*/
getWatchPlaylist(watchPlaylist: import("./watch.types").getWatchPlaylistOptions): Promise;
getWatchPlaylistShuffle(options: import("./watch.types").getWatchPlaylistShuffleOptions): Promise>;
getHome(limit?: number): Promise;
search(query: string, options?: {
filter?: undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<((Omit<{
category: "Videos";
resultType: "video";
videoId: string;
title: string;
artists: {
name: string;
id: string;
}[];
views?: string | undefined;
duration: string | null;
duration_seconds: number;
}, "category"> & {
category: "Videos" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Songs";
resultType: "song";
videoId: string;
title: string;
artists: {
name: string;
id: string;
}[];
album: {
name: string;
id: string;
} | null;
duration: string | null;
duration_seconds: number;
isExplicit: boolean;
feedbackTokens: {
add: any;
remove: any;
};
}, "category"> & {
category: "Songs" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Albums";
resultType: "album";
browseId: string;
title: string;
type: "Album";
artist: string;
year: string | null;
isExplicit: boolean;
}, "category"> & {
category: "Albums" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Community playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Community playlists" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Featured playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Featured playlists" | "Top result";
thumbnails: import("../types").thumbnails;
}))[]>;
search(query: string, options?: {
filter?: "songs" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Songs";
resultType: "song";
videoId: string;
title: string;
artists: {
name: string;
id: string;
}[];
album: {
name: string;
id: string;
} | null;
duration: string | null;
duration_seconds: number;
isExplicit: boolean;
feedbackTokens: {
add: any;
remove: any;
};
}, "category"> & {
category: "Songs" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "videos" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Videos";
resultType: "video";
videoId: string;
title: string;
artists: {
name: string;
id: string;
}[];
views?: string | undefined;
duration: string | null;
duration_seconds: number;
}, "category"> & {
category: "Videos" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "albums" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Albums";
resultType: "album";
browseId: string;
title: string;
type: "Album";
artist: string;
year: string | null;
isExplicit: boolean;
}, "category"> & {
category: "Albums" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "artists" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Artists";
resultType: "artist";
browseId: string;
artist: string;
shuffleId: string;
radioId: string;
}, "category"> & {
category: "Artists" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "playlists" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<((Omit<{
category: "Community playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Community playlists" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Featured playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Featured playlists" | "Top result";
thumbnails: import("../types").thumbnails;
}))[]>;
search(query: string, options?: {
filter?: "community_playlists" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Community playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Community playlists" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "featured_playlists" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Featured playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Featured playlists" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "uploads" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise;
getArtist(channelId: string): Promise;
getArtistAlbums(channelId: string, params: string): Promise;
getUser(channelId: string): Promise;
getUserPlaylists(channelId: string, params: string): Promise;
getAlbumBrowseId(audioPlaylistId: `OLAK5uy_${string}`): Promise<`MPREb_${string}`>;
getAlbum(browseId: string): Promise;
getSong(videoId: string, signatureTimestamp?: number | undefined): Promise>;
getLyrics(browseId: string | null | undefined): Promise;
getBaseJSUrl(): Promise;
getSignatureTimestamp(url?: string | undefined): Promise;
"__#2@#auth": string | null;
_httpsAgent: import("https").Agent | undefined;
_proxies?: false | import("axios").AxiosProxyConfig | undefined;
_headers: import("../types").Headers;
_context: any;
"__#2@#language": string | undefined;
_parser: import("../parsers/browsing").Parser;
_sapisid: any;
_sendRequest>(endpoint: string, body: Record, additionalParams?: string): Promise;
_sendGetRequest(url: string, params?: Record | undefined): Promise;
checkAuth(): any | null;
_checkAuth(): void;
getAuth(): string | null;
changeLanguage(language: string): Promise;
getLanguage(): string | undefined;
getProxy(): boolean | import("axios").AxiosProxyConfig | undefined;
} & {
getHome(limit?: number): Promise;
search(query: string, options?: {
filter?: undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<((Omit<{
category: "Videos";
resultType: "video";
videoId: string;
title: string;
artists: {
name: string;
id: string;
}[];
views?: string | undefined;
duration: string | null;
duration_seconds: number;
}, "category"> & {
category: "Videos" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Songs";
resultType: "song";
videoId: string;
title: string;
artists: {
name: string;
id: string;
}[];
album: {
name: string;
id: string;
} | null;
duration: string | null;
duration_seconds: number;
isExplicit: boolean;
feedbackTokens: {
add: any;
remove: any;
};
}, "category"> & {
category: "Songs" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Albums";
resultType: "album";
browseId: string;
title: string;
type: "Album";
artist: string;
year: string | null;
isExplicit: boolean;
}, "category"> & {
category: "Albums" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Community playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Community playlists" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Featured playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Featured playlists" | "Top result";
thumbnails: import("../types").thumbnails;
}))[]>;
search(query: string, options?: {
filter?: "songs" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Songs";
resultType: "song";
videoId: string;
title: string;
artists: {
name: string;
id: string;
}[];
album: {
name: string;
id: string;
} | null;
duration: string | null;
duration_seconds: number;
isExplicit: boolean;
feedbackTokens: {
add: any;
remove: any;
};
}, "category"> & {
category: "Songs" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "videos" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Videos";
resultType: "video";
videoId: string;
title: string;
artists: {
name: string;
id: string;
}[];
views?: string | undefined;
duration: string | null;
duration_seconds: number;
}, "category"> & {
category: "Videos" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "albums" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Albums";
resultType: "album";
browseId: string;
title: string;
type: "Album";
artist: string;
year: string | null;
isExplicit: boolean;
}, "category"> & {
category: "Albums" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "artists" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Artists";
resultType: "artist";
browseId: string;
artist: string;
shuffleId: string;
radioId: string;
}, "category"> & {
category: "Artists" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "playlists" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<((Omit<{
category: "Community playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Community playlists" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Featured playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Featured playlists" | "Top result";
thumbnails: import("../types").thumbnails;
}))[]>;
search(query: string, options?: {
filter?: "community_playlists" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Community playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Community playlists" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "featured_playlists" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Featured playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Featured playlists" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "uploads" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise;
getArtist(channelId: string): Promise;
getArtistAlbums(channelId: string, params: string): Promise;
getUser(channelId: string): Promise;
getUserPlaylists(channelId: string, params: string): Promise;
getAlbumBrowseId(audioPlaylistId: `OLAK5uy_${string}`): Promise<`MPREb_${string}`>;
getAlbum(browseId: string): Promise;
getSong(videoId: string, signatureTimestamp?: number | undefined): Promise>;
getLyrics(browseId: string | null | undefined): Promise;
getBaseJSUrl(): Promise;
getSignatureTimestamp(url?: string | undefined): Promise;
"__#2@#auth": string | null;
_httpsAgent: import("https").Agent | undefined;
_proxies?: false | import("axios").AxiosProxyConfig | undefined;
_headers: import("../types").Headers;
_context: any;
"__#2@#language": string | undefined;
_parser: import("../parsers/browsing").Parser;
_sapisid: any;
_sendRequest>(endpoint: string, body: Record, additionalParams?: string): Promise;
_sendGetRequest(url: string, params?: Record | undefined): Promise;
checkAuth(): any | null;
_checkAuth(): void;
getAuth(): string | null;
changeLanguage(language: string): Promise;
getLanguage(): string | undefined;
getProxy(): boolean | import("axios").AxiosProxyConfig | undefined;
} & import("../ytmusic")._YTMusic>>(Base: TBase) => {
new (...args: any[]): {
/**
* Return a list of playlist items.
* @param {string} [playlistId ] Playlist id.
* @param {number} [limit=100] How many songs to return.
* @example Each item is in the following format
* {
* "id": "PLQwVIlKxHM6qv-o99iX9R85og7IzF9YS_",
* "privacy": "PUBLIC",
* "title": "New EDM This Week 03/13/2020",
* "thumbnails": [...]
* "description": "Weekly r/EDM new release roundup. Created with github.com/sigma67/spotifyplaylist_to_gmusic",
* "author": "sigmatics",
* "year": "2020",
* "duration": "6+ hours",
* "duration_seconds": 52651,
* "trackCount": 237,
* "tracks": [
* {
* "videoId": "bjGppZKiuFE",
* "title": "Lost",
* "artists": [
* {
* "name": "Guest Who",
* "id": "UCkgCRdnnqWnUeIH7EIc3dBg"
* },
* {
* "name": "Kate Wild",
* "id": "UCwR2l3JfJbvB6aq0RnnJfWg"
* }
* ],
* "album": {
* "name": "Lost",
* "id": "MPREb_PxmzvDuqOnC"
* },
* "duration": "2:58",
* "likeStatus": "INDIFFERENT",
* "thumbnails": [...],
* "isAvailable": True,
* "isExplicit": False,
* "feedbackTokens": {
* "add": "AB9zfpJxtvrU...",
* "remove": "AB9zfpKTyZ..."
* }
* ]
* }
*/
getPlaylist(playlistId: string, limit?: number): Promise;
/**
* Gets suggested tracks to add to a playlist. Suggestions are offered for playlists with less than 100 tracks
* @param suggestionsToken Token returned by `getPlaylist` or this function
* @returns Object containing suggested `tracks` and a `refresh_token` to get another set of suggestions.
* For data format of tracks, check `getPlaylist`
*/
getPlaylistSuggestions(suggestionsToken: string): Promise>;
/**
* Creates a new empty playlist and returns its id.
* @param title Playlist title.
* @param options
* @param {string} [options.description] Optional. Playlist description.
* @param {string} [options.privacyStatus='PRIVATE'] Playlists can be 'PUBLIC', 'PRIVATE', or 'UNLISTED'. Default: 'PRIVATE'.
* @param {string[]} [options.videoIds] IDs of songs to create the playlist with.
* @param {string} [options.sourcePlaylist] Another playlist whose songs should be added to the new playlist.
* @returns ID of the YouTube playlist or full response if there was an error.
*/
createPlaylist(title: string, options?: {
description?: string | undefined;
privacyStatus?: pt.PrivacyStatus | undefined;
videoIds?: string[] | undefined;
sourcePlaylist?: string | undefined;
} | undefined): Promise>;
/**
* Creates a new empty playlist and returns its id.
* @param title Playlist title.
* @param options
* @param {string} [options.description] Optional. Playlist description.
* @param {string} [options.privacyStatus='PRIVATE'] Playlists can be 'PUBLIC', 'PRIVATE', or 'UNLISTED'. Default: 'PRIVATE'.
* @param {string[]} [options.videoIds] IDs of songs to create the playlist with.
* @param {string} [options.sourcePlaylist] Another playlist whose songs should be added to the new playlist.
* @returns ID of the YouTube playlist or full response if there was an error.
*/
createPlaylist(title: string, description?: string | undefined, options?: {
privacyStatus?: pt.PrivacyStatus | undefined;
videoIds?: string[] | undefined;
sourcePlaylist?: string | undefined;
} | undefined): Promise>;
/**
* Edit title, description or privacyStatus of a playlist.
* You may also move an item within a playlist or append another playlist to this playlist.
* @param playlistId Playlist id.
* @param options
* @param {string} [options.title=] New title for the playlist.
* @param {string} [options.description=] New description for the playlist.
* @param {pt.PrivacyStatu} [options.privacyStatus=] New privacy status for the playlist.
* @param {string} [options.moveItem=] Move one item before another. Items are specified by setVideoId, see `getPlaylist`.
* @param {string} [options.addPlaylistId=] Id of another playlist to add to this playlist
* @return Status String or full response
*/
editPlaylist(playlistId: string, options: {
title?: string;
description?: string | null;
privacyStatus?: pt.PrivacyStatus;
moveItem?: [string, string];
addPlaylistId?: string;
}): Promise>;
/**
* Delete a playlist.
* @param {string} [playlistId] Playlist id.
* @returns Status String or full response.
*/
deletePlaylist(playlistId: string): Promise>;
/**
* Add songs to an existing playlist
* @param playlistId Playlist id.
* @param {string[]} [options.videoIds] IDs of songs to create the playlist with.
* @param {string} [options.sourcePlaylist] Another playlist whose songs should be added to the new playlist.
* @param {boolean} [options.duplicates=false] If true, duplicates will be added. If false, an error will be returned if there are duplicates (no items are added to the playlist)
* @returns Status String and an object containing the new setVideoId for each videoId or full response.
*/
addPlaylistItems(playlistId: string, options: {
videoIds: string[];
sourcePlaylist: string;
duplicates: boolean;
}): Promise;
/**
* Remove songs from an existing playlist.
* @param playlistId: Playlist id.
* @param videos: List of PlaylistItems, see `getPlaylist`.
*
*/
removePlaylistItems(playlistId: string, videos: Array>): Promise;
getMoodCategories(): Promise;
getMoodPlaylists(params: string): Promise;
getCharts(country?: string): Promise>;
/**
* @module Playlists
*/
getWatchPlaylist(watchPlaylist: import("./watch.types").getWatchPlaylistOptions): Promise;
getWatchPlaylistShuffle(options: import("./watch.types").getWatchPlaylistShuffleOptions): Promise>;
getHome(limit?: number): Promise;
search(query: string, options?: {
filter?: undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<((Omit<{
category: "Videos";
resultType: "video";
videoId: string;
title: string;
artists: {
name: string;
id: string;
}[];
views?: string | undefined;
duration: string | null;
duration_seconds: number;
}, "category"> & {
category: "Videos" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Songs";
resultType: "song";
videoId: string;
title: string;
artists: {
name: string;
id: string;
}[];
album: {
name: string;
id: string;
} | null;
duration: string | null;
duration_seconds: number;
isExplicit: boolean;
feedbackTokens: {
add: any;
remove: any;
};
}, "category"> & {
category: "Songs" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Albums";
resultType: "album";
browseId: string;
title: string;
type: "Album";
artist: string;
year: string | null;
isExplicit: boolean;
}, "category"> & {
category: "Albums" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Community playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Community playlists" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Featured playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Featured playlists" | "Top result";
thumbnails: import("../types").thumbnails;
}))[]>;
search(query: string, options?: {
filter?: "songs" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Songs";
resultType: "song";
videoId: string;
title: string;
artists: {
name: string;
id: string;
}[];
album: {
name: string;
id: string;
} | null;
duration: string | null;
duration_seconds: number;
isExplicit: boolean;
feedbackTokens: {
add: any;
remove: any;
};
}, "category"> & {
category: "Songs" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "videos" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Videos";
resultType: "video";
videoId: string;
title: string;
artists: {
name: string;
id: string;
}[];
views?: string | undefined;
duration: string | null;
duration_seconds: number;
}, "category"> & {
category: "Videos" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "albums" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Albums";
resultType: "album";
browseId: string;
title: string;
type: "Album";
artist: string;
year: string | null;
isExplicit: boolean;
}, "category"> & {
category: "Albums" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "artists" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Artists";
resultType: "artist";
browseId: string;
artist: string;
shuffleId: string;
radioId: string;
}, "category"> & {
category: "Artists" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "playlists" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<((Omit<{
category: "Community playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Community playlists" | "Top result";
thumbnails: import("../types").thumbnails;
}) | (Omit<{
category: "Featured playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Featured playlists" | "Top result";
thumbnails: import("../types").thumbnails;
}))[]>;
search(query: string, options?: {
filter?: "community_playlists" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Community playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Community playlists" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "featured_playlists" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise<(Omit<{
category: "Featured playlists";
resultType: "playlist";
browseId: string;
title: string;
author: string;
itemCount: string;
}, "category"> & {
category: "Featured playlists" | "Top result";
thumbnails: import("../types").thumbnails;
})[]>;
search(query: string, options?: {
filter?: "uploads" | undefined;
scope?: import("../types").Scope | undefined;
limit?: number | undefined;
ignoreSpelling?: boolean | undefined;
} | undefined): Promise;
getArtist(channelId: string): Promise;
getArtistAlbums(channelId: string, params: string): Promise;
getUser(channelId: string): Promise;
getUserPlaylists(channelId: string, params: string): Promise;
getAlbumBrowseId(audioPlaylistId: `OLAK5uy_${string}`): Promise<`MPREb_${string}`>;
getAlbum(browseId: string): Promise;
getSong(videoId: string, signatureTimestamp?: number | undefined): Promise>;
getLyrics(browseId: string | null | undefined): Promise;
getBaseJSUrl(): Promise;
getSignatureTimestamp(url?: string | undefined): Promise;
"__#2@#auth": string | null;
_httpsAgent: import("https").Agent | undefined;
_proxies?: false | import("axios").AxiosProxyConfig | undefined;
_headers: import("../types").Headers;
_context: any;
"__#2@#language": string | undefined;
_parser: import("../parsers/browsing").Parser;
_sapisid: any;
_sendRequest>(endpoint: string, body: Record, additionalParams?: string): Promise;
_sendGetRequest(url: string, params?: Record | undefined): Promise;
checkAuth(): any | null;
_checkAuth(): void;
getAuth(): string | null;
changeLanguage(language: string): Promise;
getLanguage(): string | undefined;
getProxy(): boolean | import("axios").AxiosProxyConfig | undefined;
};
} & TBase;