/// 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;