///
import { GConstructor, Mixin } from './.mixin.helper';
import * as lt from './library.types';
import { parsePlaylistReturn } from '../parsers/browsing.types';
import { parsePlaylistItemsReturn } from '../parsers/playlists.types';
import { getPlaylistReturn } from './playlists.types';
export declare type LibraryMixin = Mixin;
/**
* @module Library
*/
export declare const LibraryMixin: ;
getPlaylistSuggestions(suggestionsToken: string): Promise>;
createPlaylist(title: string, options?: {
description?: string | undefined;
privacyStatus?: import("./playlists.types").PrivacyStatus | undefined;
videoIds?: string[] | undefined;
sourcePlaylist?: string | undefined;
} | undefined): Promise>;
createPlaylist(title: string, description?: string | undefined, options?: {
privacyStatus?: import("./playlists.types").PrivacyStatus | undefined;
videoIds?: string[] | undefined;
sourcePlaylist?: string | undefined;
} | undefined): Promise>;
editPlaylist(playlistId: string, options: {
title?: string | undefined;
description?: string | null | undefined;
privacyStatus?: import("./playlists.types").PrivacyStatus | undefined;
moveItem?: [string, string] | undefined;
addPlaylistId?: string | undefined;
}): Promise>;
deletePlaylist(playlistId: string): Promise>;
addPlaylistItems(playlistId: string, options: {
videoIds: string[];
sourcePlaylist: string;
duplicates: boolean;
}): Promise;
removePlaylistItems(playlistId: string, videos: Record[]): Promise;
getMoodCategories(): Promise;
getMoodPlaylists(params: string): Promise;
getCharts(country?: string): Promise>;
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;
} & {
getMoodCategories(): Promise;
getMoodPlaylists(params: string): Promise;
getCharts(country?: string): Promise>;
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;
} & {
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[]): {
/**
* Retrieves the playlists in the user's library.
* @param {number} [limit = 25] Number of playlists to retrieve.
* @return Array of owned playlists.
* @example Each item is in the following format
* {
* 'playlistId': 'PLQwVIlKxHM6rz0fDJVv_0UlXGEWf-bFys',
* 'title': 'Playlist title',
* 'thumbnails: [...],
* 'count': 5
* }
*/
getLibraryPlaylists(limit?: number): Promise;
/**
* Gets the songs in the user's library (liked videos are not included).
* To get liked songs and videos, use `getLikedSongs`.
* @param {Object} [options=]
* @param {number} [options.limit = 25] Limit number of songs to retrieve.
* @param {boolean} [options.validateResponse = false] Flag indicating if responses from YTM should be validated and retried in case when some songs are missing.
* @param {lt.Order} [options.order=] Order of songs to return. Allowed values: 'a_to_z', 'z_to_a', 'recently_added'.
* @return List of songs. Same format as `getPlaylist`
*/
getLibrarySongs(options?: {
limit?: number | undefined;
validateResponse?: boolean | undefined;
order?: lt.Order | undefined;
} | undefined): Promise;
/**
* Gets the albums in the user's library.
* @param {Object} [options=]
* @param {number} [options.limit = 25] Number of albums to return.
* @param {lt.Order} [options.order=] Order of albums to return. Allowed values: 'a_to_z', 'z_to_a', 'recently_added'.
* @return List of albums.
* @example Each item is in the following format
* {
* "browseId": "MPREb_G8AiyN7RvFg",
* "title": "Beautiful",
* "type": "Album",
* "thumbnails": [...],
* "artists": [{
* "name": "Project 46",
* "id": "UCXFv36m62USAN5rnVct9B4g"
* }],
* "year": "2015"
* }
*/
getLibraryAlbums(options?: {
limit?: number | undefined;
order?: lt.Order | undefined;
} | undefined): Promise;
/**
* Gets the artists of the songs in the user's library.
* @param {Object} [options=]
* @param {number} [options.limit = 25] Number of artists to return.
* @param {lt.Order} [options.order=] Order of artists to return.
* @return List of artists.
* @example Each item is in the following format
* {
* "browseId": "UCxEqaQWosMHaTih-tgzDqug",
* "artist": "WildVibes",
* "subscribers": "2.91K",
* "thumbnails": [...]
* }
*/
getLibraryArtists(options?: {
limit?: number | undefined;
order?: lt.Order | undefined;
} | undefined): Promise;
/**
* Gets the artists the user has subscribed to.
* @param options
* @param {number} [options.limit=25] Number of artists to return.
* @param {lt.Order} [options.order=] Order of artists to return. Allowed values: 'a_to_z', 'z_to_a', 'recently_added'.
* @return List of artists. Same format as `getLibraryArtists`
*/
getLibrarySubscriptions(options?: {
limit?: number | undefined;
order?: lt.Order | undefined;
} | undefined): Promise;
/**
* Gets playlist items for the 'Liked Songs' playlist.
* @param {number} [limit=100] How many items to return.
* @return List of playlistItem dictionaries. See `getPlaylist`
*/
getLikedSongs(limit?: number): Promise>;
/**
* Gets your play history in reverse chronological order.
*
* @return List of playlistItems, see `getPlaylist`.
*
* The additional property ``played`` indicates when the playlistItem was played.
*
* The additional property ``feedbackToken`` can be used to remove items with `removeHistoryItems`.
*/
getHistory(): Promise;
/**
* Remove an item from the account's history. This method does currently not work with brand accounts.
* @param feedbackTokens Token to identify the item to remove, obtained from `getHistory`.
* @return Full response.
*/
removeHistoryItems(feedbackTokens: any[]): Promise>;
/**
* Rates a song ("thumbs up"/"thumbs down" interactions on YouTube Music).
* @param {string} [videoId] Video id.
* @param {string} [rating='INDIFFERENT'] One of 'LIKE', 'DISLIKE', 'INDIFFERENT'.
* 'INDIFFERENT' removes the playlist/album from the library
* @return Full response.
*/
rateSong(videoId: string, rating?: lt.Rating): Promise>;
/**
* Adds or removes a song from your library depending on the token provided.
* @param {string[]} [feedbackTokens] List of feedbackTokens obtained from authenticated requests
* to endpoints that return songs (i.e. `get_album`).
* @return Full response.
*/
editSongLibraryStatus(feedbackTokens: string[]): Promise>;
/**
* Rates a playlist/album ("Add to library"/"Remove from library" interactions on YouTube Music)
* You can also dislike a playlist/album, which has an effect on your recommendations
* @param {string} [videoId] Playlist id.
* @param {string} [rating='INDIFFERENT'] One of 'LIKE', 'DISLIKE', 'INDIFFERENT'.
* 'INDIFFERENT' removes the playlist/album from the library.
* @return Full response.
*/
ratePlaylist(playlistId: string, rating?: lt.Rating): Promise>;
/**
* Subscribe to artists. Adds the artists to your library.
* @param channelIds Artist channel ids.
* @return Full response.
*/
subscribeArtists(channelIds: string[]): Promise>;
/**
* Unsubscribe to artists. Removes the artists to your library.
* @param channelIds Artist channel ids.
* @return Full response.
*/
unsubscribeArtists(channelIds: string[]): Promise>;
getPlaylist(playlistId: string, limit?: number): Promise;
getPlaylistSuggestions(suggestionsToken: string): Promise>;
createPlaylist(title: string, options?: {
description?: string | undefined;
privacyStatus?: import("./playlists.types").PrivacyStatus | undefined;
videoIds?: string[] | undefined;
sourcePlaylist?: string | undefined;
} | undefined): Promise>;
createPlaylist(title: string, description?: string | undefined, options?: {
privacyStatus?: import("./playlists.types").PrivacyStatus | undefined;
videoIds?: string[] | undefined;
sourcePlaylist?: string | undefined;
} | undefined): Promise>;
editPlaylist(playlistId: string, options: {
title?: string | undefined;
description?: string | null | undefined;
privacyStatus?: import("./playlists.types").PrivacyStatus | undefined;
moveItem?: [string, string] | undefined;
addPlaylistId?: string | undefined;
}): Promise>;
deletePlaylist(playlistId: string): Promise>;
addPlaylistItems(playlistId: string, options: {
videoIds: string[];
sourcePlaylist: string;
duplicates: boolean;
}): Promise;
removePlaylistItems(playlistId: string, videos: Record[]): Promise;
getMoodCategories(): Promise;
getMoodPlaylists(params: string): Promise;
getCharts(country?: string): Promise>;
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;