youtubei
Version:
Simple package to get information from youtube such as videos, playlists, channels, video information & comments, related videos, up next video, and more!
51 lines (50 loc) • 1.79 kB
TypeScript
import { FetchResult, MusicContinuable, MusicContinuableConstructorParams } from "../MusicContinuable";
import { MusicSongCompact } from "../MusicSongCompact";
import { MusicVideoCompact } from "../MusicVideoCompact";
export declare enum MusicSearchTypeEnum {
Song = "song",
Video = "video"
}
export declare type MusicSearchType = "song" | "video" | MusicSearchTypeEnum;
export declare type MusicSearchResultItem<T = "song"> = T extends "song" ? MusicSongCompact : MusicVideoCompact;
declare type MusicLyricsProperties = MusicContinuableConstructorParams & {
type?: MusicSearchType;
};
/**
* Represents search result, usually returned from `client.search();`.
*
* {@link MusicSearchResult} is a helper class to manage search result
*
* @example
* ```ts
* const result = await music.search("Keyword", "song");
*
* console.log(result.items); // search result from first page
*
* let nextSearchResult = await result.next();
* console.log(nextSearchResult); // search result from second page
*
* nextSearchResult = await result.next();
* console.log(nextSearchResult); // search result from third page
*
* console.log(result.items); // search result from first, second, and third page.
* ```
*
* @noInheritDoc
*/
export declare class MusicSearchResult<T extends MusicSearchType | undefined = "song"> extends MusicContinuable<MusicSearchResultItem<T>> {
private type;
/** @hidden */
constructor({ client, type }: MusicLyricsProperties);
/**
* Initialize data from search
*
* @param query Search query
* @param options Search Options
*
* @hidden
*/
search(query: string, type: MusicSearchType): Promise<MusicSearchResult<T>>;
protected fetch(): Promise<FetchResult<MusicSearchResultItem<T>>>;
}
export {};