/**
* @module Watch
*/
///
import { GConstructor, Mixin } from './.mixin.helper';
import * as wt from './watch.types';
export declare type WatchMixin = Mixin;
export declare const WatchMixin: ;
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[]): {
/**
* Get a watch list of tracks. This watch playlist appears when you press
* play on a track in YouTube Music.
* Please note that the `INDIFFERENT` likeStatus of tracks returned by this
* endpoint may be either `INDIFFERENT` or `DISLIKE`, due to ambiguous data
* returned by YouTube Music.
*
* @param videoId {string} videoId of the played video
* @param playlistId {string} playlistId of the played playlist or album
* @param limit {number} minimum number of watch playlist items to return
* @param params only used internally by `getWatchPlaylistShuffle`
* @return List of watch playlist items. The counterpart key is optional and only
* appears if a song has a corresponding video counterpart (UI song/video switcher).
* @example
* {
* "tracks": [
* {
* "videoId": "9mWr4c_ig54",
* "title": "Foolish Of Me (feat. Jonathan Mendelsohn)",
* "length": "3:07",
* "thumbnail": [
* {
* "url": "https://lh3.googleusercontent.com/ulK2YaLtOW0PzcN7ufltG6e4ae3WZ9Bvg8CCwhe6LOccu1lCKxJy2r5AsYrsHeMBSLrGJCNpJqXgwczk=w60-h60-l90-rj",
* "width": 60,
* "height": 60
* }...
* ],
* "feedbackTokens": {
* "add": "AB9zfpIGg9XN4u2iJ...",
* "remove": "AB9zfpJdzWLcdZtC..."
* },
* "likeStatus": "INDIFFERENT",
* "artists": [
* {
* "name": "Seven Lions",
* "id": "UCYd2yzYRx7b9FYnBSlbnknA"
* },
* {
* "name": "Jason Ross",
* "id": "UCVCD9Iwnqn2ipN9JIF6B-nA"
* },
* {
* "name": "Crystal Skies",
* "id": "UCTJZESxeZ0J_M7JXyFUVmvA"
* }
* ],
* "album": {
* "name": "Foolish Of Me",
* "id": "MPREb_C8aRK1qmsDJ"
* },
* "year": "2020",
* "counterpart": {
* "videoId": "E0S4W34zFMA",
* "title": "Foolish Of Me [ABGT404] (feat. Jonathan Mendelsohn)",
* "length": "3:07",
* "thumbnail": [...],
* "feedbackTokens": null,
* "likeStatus": "LIKE",
* "artists": [
* {
* "name": "Jason Ross",
* "id": null
* },
* {
* "name": "Seven Lions",
* "id": null
* },
* {
* "name": "Crystal Skies",
* "id": null
* }
* ],
* "views": "6.6K"
* }
* },...
* ],
* "playlistId": "RDAMVM4y33h81phKU",
* "lyrics": "MPLYt_HNNclO0Ddoc-17"
* }
*/
getWatchPlaylist(watchPlaylist: wt.getWatchPlaylistOptions): Promise;
/**
* Shuffle any playlist
* @param videoId {string} Optional video id of the first video in the shuffled playlist
* @param playlistId {string} Playlist id
* @param limit {number} The number of watch playlist items to return @default 50
* @returns A list of watch playlist items
*/
getWatchPlaylistShuffle(options: wt.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;