import Album from '../../parser/ytmusic/Album.js'; import Artist from '../../parser/ytmusic/Artist.js'; import Explore from '../../parser/ytmusic/Explore.js'; import HomeFeed from '../../parser/ytmusic/HomeFeed.js'; import Library from '../../parser/ytmusic/Library.js'; import Playlist from '../../parser/ytmusic/Playlist.js'; import Recap from '../../parser/ytmusic/Recap.js'; import Search from '../../parser/ytmusic/Search.js'; import TrackInfo from '../../parser/ytmusic/TrackInfo.js'; import MusicCarouselShelf from '../../parser/classes/MusicCarouselShelf.js'; import MusicDescriptionShelf from '../../parser/classes/MusicDescriptionShelf.js'; import MusicTwoRowItem from '../../parser/classes/MusicTwoRowItem.js'; import PlaylistPanel from '../../parser/classes/PlaylistPanel.js'; import SearchSuggestionsSection from '../../parser/classes/SearchSuggestionsSection.js'; import type { ObservedArray } from '../../parser/helpers.js'; import type { MusicSearchFilters } from '../../types/index.js'; import type Session from '../Session.js'; export default class Music { #private; constructor(session: Session); /** * Retrieves track info. Passing a list item of type MusicTwoRowItem automatically starts a radio. * @param target - Video id or a list item. */ getInfo(target: string | MusicTwoRowItem): Promise; /** * Searches on YouTube Music. * @param query - Search query. * @param filters - Search filters. */ search(query: string, filters?: MusicSearchFilters): Promise; /** * Retrieves the home feed. */ getHomeFeed(): Promise; /** * Retrieves the Explore feed. */ getExplore(): Promise; /** * Retrieves the library. */ getLibrary(): Promise; /** * Retrieves artist's info & content. * @param artist_id - The artist id. */ getArtist(artist_id: string): Promise; /** * Retrieves album. * @param album_id - The album id. */ getAlbum(album_id: string): Promise; /** * Retrieves playlist. * @param playlist_id - The playlist id. */ getPlaylist(playlist_id: string): Promise; /** * Retrieves up next. * @param video_id - The video id. * @param automix - Whether to enable automix. */ getUpNext(video_id: string, automix?: boolean): Promise; /** * Retrieves related content. * @param video_id - The video id. */ getRelated(video_id: string): Promise>; /** * Retrieves song lyrics. * @param video_id - The video id. */ getLyrics(video_id: string): Promise; /** * Retrieves recap. */ getRecap(): Promise; /** * Retrieves search suggestions for the given query. * @param query - The query. */ getSearchSuggestions(query: string): Promise>; }