/// import { parsePlaylistReturn } from '../parsers/browsing.types'; import { GConstructor, Mixin } from './.mixin.helper'; import * as et from './explore.types'; export declare type ExploreMixin = Mixin; /** * @module Explore */ export declare const ExploreMixin: ; 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[]): { /** * Fetch "Moods & Genres" categories from YouTube Music. * * @return Object of sections and categories * @example * { * 'For you': [ * { * 'params': 'ggMPOg1uX1ZwN0pHT2NBT1Fk', * 'title': '1980s' * }, * { * 'params': 'ggMPOg1uXzZQbDB5eThLRTQ3', * 'title': 'Feel Good' * }, * ... * ], * 'Genres': [ * { * 'params': 'ggMPOg1uXzVLbmZnaWI4STNs', * 'title': 'Dance & Electronic' * }, * { * 'params': 'ggMPOg1uX3NjZllsNGVEMkZo', * 'title': 'Decades' * }, * ... * ], * 'Moods & moments': [ * { * 'params': 'ggMPOg1uXzVuc0dnZlhpV3Ba', * 'title': 'Chill' * }, * { * 'params': 'ggMPOg1uX2ozUHlwbWM3ajNq', * 'title': 'Commute' * }, * ... * ], * } */ getMoodCategories(): Promise; /** * Retrieve a list of playlists for a given "Moods & Genres" category. * @param params params obtained by `getMoodCategories` * @returns List of playlists in the format of `getLibraryPlaylists` */ getMoodPlaylists(params: string): Promise; /** * Get latest charts data from YouTube Music: Top songs, top videos, top artists and top trending videos. * Global charts have no Trending section, US charts have an extra Genres section with some Genre charts. * @param {string} [country = 'ZZ'] ISO 3166-1 Alpha-2 country code. * @returns Dictionary containing chart songs (only if authenticated), chart videos, chart artists and trending videos. * @example * { * "countries": { * "selected": { * "text": "United States" * }, * "options": ["DE", * "ZZ", * "ZW"] * }, * "songs": { * "playlist": "VLPL4fGSI1pDJn6O1LS0XSdF3RyO0Rq_LDeI", * "items": [ * { * "title": "Outside (Better Days)", * "videoId": "oT79YlRtXDg", * "artists": [ * { * "name": "MO3", * "id": "UCdFt4Cvhr7Okaxo6hZg5K8g" * }, * { * "name": "OG Bobby Billions", * "id": "UCLusb4T2tW3gOpJS1fJ-A9g" * } * ], * "thumbnails": [...], * "isExplicit": true, * "album": { * "name": "Outside (Better Days)", * "id": "MPREb_fX4Yv8frUNv" * }, * "rank": "1", * "trend": "up" * } * ] * }, * "videos": { * "playlist": "VLPL4fGSI1pDJn69On1f-8NAvX_CYlx7QyZc", * "items": [ * { * "title": "EVERY CHANCE I GET (Official Music Video) (feat. Lil Baby & Lil Durk)", * "videoId": "BTivsHlVcGU", * "playlistId": "PL4fGSI1pDJn69On1f-8NAvX_CYlx7QyZc", * "thumbnails": [], * "views": "46M" * } * ] * }, * "artists": { * "playlist": null, * "items": [ * { * "title": "YoungBoy Never Broke Again", * "browseId": "UCR28YDxjDE3ogQROaNdnRbQ", * "subscribers": "9.62M", * "thumbnails": [], * "rank": "1", * "trend": "neutral" * } * ] * }, * "genres": [ * { * "title": "Top 50 Pop Music Videos United States", * "playlistId": "PL4fGSI1pDJn77aK7sAW2AT0oOzo5inWY8", * "thumbnails": [] * } * ], * "trending": { * "playlist": "VLPLrEnWoR732-DtKgaDdnPkezM_nDidBU9H", * "items": [ * { * "title": "Permission to Dance", * "videoId": "CuklIb9d3fI", * "playlistId": "PLrEnWoR732-DtKgaDdnPkezM_nDidBU9H", * "artists": [ * { * "name": "BTS", * "id": "UC9vrvNSL3xcWGSkV86REBSg" * } * ], * "thumbnails": [], * "views": "108M" * } * ] * } * } */ 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;