import { HTTP, HTTPOptions } from "../../common"; import { MusicAlbumCompact } from "../MusicAlbumCompact"; import { MusicArtistCompact } from "../MusicArtistCompact"; import { MusicLyrics } from "../MusicLyrics"; import { MusicPlaylistCompact } from "../MusicPlaylistCompact"; import { MusicSearchResult, MusicSearchType } from "../MusicSearchResult"; import { MusicVideoCompact } from "../MusicVideoCompact"; export declare type MusicTopShelf = { item?: MusicVideoCompact | MusicAlbumCompact | MusicPlaylistCompact | MusicArtistCompact; more?: (MusicVideoCompact | MusicAlbumCompact | MusicPlaylistCompact | MusicArtistCompact)[]; }; export declare type MusicClientOptions = HTTPOptions; /** Youtube Music Client */ export declare class MusicClient { /** @hidden */ http: HTTP; constructor(options?: Partial); /** * Searches for video, song, album, playlist, or artist * * @param query The search query * @param type Search type * */ search(query: string, type?: T): Promise>; /** * Searches for all video, song, album, playlist, or artist * * @param query The search query */ searchAll(query: string): Promise; /** * Get lyrics of a song * * @param query The search query * @param options Search options * */ getLyrics(id: string): Promise; }