ytmusic-api-proxy
Version:
YouTube Music API
2,058 lines (2,056 loc) • 51.8 kB
text/typescript
import { z } from 'zod';
type ThumbnailFull = z.infer<typeof ThumbnailFull>;
declare const ThumbnailFull: z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>;
type ArtistBasic = z.infer<typeof ArtistBasic>;
declare const ArtistBasic: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
type AlbumBasic = z.infer<typeof AlbumBasic>;
declare const AlbumBasic: z.ZodObject<{
albumId: z.ZodString;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
name?: string;
albumId?: string;
}, {
name?: string;
albumId?: string;
}>;
type SongDetailed = z.infer<typeof SongDetailed>;
declare const SongDetailed: z.ZodObject<{
type: z.ZodLiteral<"SONG">;
videoId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
album: z.ZodNullable<z.ZodObject<{
albumId: z.ZodString;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
name?: string;
albumId?: string;
}, {
name?: string;
albumId?: string;
}>>;
duration: z.ZodNullable<z.ZodNumber>;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "SONG";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
album?: {
name?: string;
albumId?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}, {
type?: "SONG";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
album?: {
name?: string;
albumId?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}>;
type VideoDetailed = z.infer<typeof VideoDetailed>;
declare const VideoDetailed: z.ZodObject<{
type: z.ZodLiteral<"VIDEO">;
videoId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
duration: z.ZodNullable<z.ZodNumber>;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "VIDEO";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}, {
type?: "VIDEO";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}>;
type ArtistDetailed = z.infer<typeof ArtistDetailed>;
declare const ArtistDetailed: z.ZodObject<{
artistId: z.ZodString;
name: z.ZodString;
type: z.ZodLiteral<"ARTIST">;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "ARTIST";
artistId?: string;
name?: string;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}, {
type?: "ARTIST";
artistId?: string;
name?: string;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}>;
type AlbumDetailed = z.infer<typeof AlbumDetailed>;
declare const AlbumDetailed: z.ZodObject<{
type: z.ZodLiteral<"ALBUM">;
albumId: z.ZodString;
playlistId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
year: z.ZodNullable<z.ZodNumber>;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "ALBUM";
name?: string;
albumId?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
year?: number;
}, {
type?: "ALBUM";
name?: string;
albumId?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
year?: number;
}>;
type PlaylistDetailed = z.infer<typeof PlaylistDetailed>;
declare const PlaylistDetailed: z.ZodObject<{
type: z.ZodLiteral<"PLAYLIST">;
playlistId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "PLAYLIST";
name?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
}, {
type?: "PLAYLIST";
name?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
}>;
type SongFull = z.infer<typeof SongFull>;
declare const SongFull: z.ZodObject<{
type: z.ZodLiteral<"SONG">;
videoId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
duration: z.ZodNumber;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
formats: z.ZodArray<z.ZodAny, "many">;
adaptiveFormats: z.ZodArray<z.ZodAny, "many">;
}, "strict", z.ZodTypeAny, {
type?: "SONG";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
formats?: any[];
adaptiveFormats?: any[];
}, {
type?: "SONG";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
formats?: any[];
adaptiveFormats?: any[];
}>;
type VideoFull = z.infer<typeof VideoFull>;
declare const VideoFull: z.ZodObject<{
type: z.ZodLiteral<"VIDEO">;
videoId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
duration: z.ZodNumber;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
unlisted: z.ZodBoolean;
familySafe: z.ZodBoolean;
paid: z.ZodBoolean;
tags: z.ZodArray<z.ZodString, "many">;
}, "strict", z.ZodTypeAny, {
type?: "VIDEO";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
unlisted?: boolean;
familySafe?: boolean;
paid?: boolean;
tags?: string[];
}, {
type?: "VIDEO";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
unlisted?: boolean;
familySafe?: boolean;
paid?: boolean;
tags?: string[];
}>;
type UpNextsDetails = z.infer<typeof UpNextsDetails>;
declare const UpNextsDetails: z.ZodObject<{
type: z.ZodLiteral<"SONG">;
videoId: z.ZodString;
title: z.ZodString;
artists: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
duration: z.ZodNumber;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "SONG";
videoId?: string;
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
title?: string;
artists?: {
artistId?: string;
name?: string;
};
}, {
type?: "SONG";
videoId?: string;
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
title?: string;
artists?: {
artistId?: string;
name?: string;
};
}>;
type ArtistFull = z.infer<typeof ArtistFull>;
declare const ArtistFull: z.ZodObject<{
artistId: z.ZodString;
name: z.ZodString;
type: z.ZodLiteral<"ARTIST">;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
topSongs: z.ZodArray<z.ZodObject<{
type: z.ZodLiteral<"SONG">;
videoId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
album: z.ZodNullable<z.ZodObject<{
albumId: z.ZodString;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
name?: string;
albumId?: string;
}, {
name?: string;
albumId?: string;
}>>;
duration: z.ZodNullable<z.ZodNumber>;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "SONG";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
album?: {
name?: string;
albumId?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}, {
type?: "SONG";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
album?: {
name?: string;
albumId?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}>, "many">;
topAlbums: z.ZodArray<z.ZodObject<{
type: z.ZodLiteral<"ALBUM">;
albumId: z.ZodString;
playlistId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
year: z.ZodNullable<z.ZodNumber>;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "ALBUM";
name?: string;
albumId?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
year?: number;
}, {
type?: "ALBUM";
name?: string;
albumId?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
year?: number;
}>, "many">;
topSingles: z.ZodArray<z.ZodObject<{
type: z.ZodLiteral<"ALBUM">;
albumId: z.ZodString;
playlistId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
year: z.ZodNullable<z.ZodNumber>;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "ALBUM";
name?: string;
albumId?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
year?: number;
}, {
type?: "ALBUM";
name?: string;
albumId?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
year?: number;
}>, "many">;
topVideos: z.ZodArray<z.ZodObject<{
type: z.ZodLiteral<"VIDEO">;
videoId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
duration: z.ZodNullable<z.ZodNumber>;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "VIDEO";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}, {
type?: "VIDEO";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}>, "many">;
featuredOn: z.ZodArray<z.ZodObject<{
type: z.ZodLiteral<"PLAYLIST">;
playlistId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "PLAYLIST";
name?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
}, {
type?: "PLAYLIST";
name?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
}>, "many">;
similarArtists: z.ZodArray<z.ZodObject<{
artistId: z.ZodString;
name: z.ZodString;
type: z.ZodLiteral<"ARTIST">;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "ARTIST";
artistId?: string;
name?: string;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}, {
type?: "ARTIST";
artistId?: string;
name?: string;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "ARTIST";
artistId?: string;
name?: string;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
topSongs?: {
type?: "SONG";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
album?: {
name?: string;
albumId?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}[];
topAlbums?: {
type?: "ALBUM";
name?: string;
albumId?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
year?: number;
}[];
topSingles?: {
type?: "ALBUM";
name?: string;
albumId?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
year?: number;
}[];
topVideos?: {
type?: "VIDEO";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}[];
featuredOn?: {
type?: "PLAYLIST";
name?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
}[];
similarArtists?: {
type?: "ARTIST";
artistId?: string;
name?: string;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}[];
}, {
type?: "ARTIST";
artistId?: string;
name?: string;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
topSongs?: {
type?: "SONG";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
album?: {
name?: string;
albumId?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}[];
topAlbums?: {
type?: "ALBUM";
name?: string;
albumId?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
year?: number;
}[];
topSingles?: {
type?: "ALBUM";
name?: string;
albumId?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
year?: number;
}[];
topVideos?: {
type?: "VIDEO";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}[];
featuredOn?: {
type?: "PLAYLIST";
name?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
}[];
similarArtists?: {
type?: "ARTIST";
artistId?: string;
name?: string;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}[];
}>;
type AlbumFull = z.infer<typeof AlbumFull>;
declare const AlbumFull: z.ZodObject<{
type: z.ZodLiteral<"ALBUM">;
albumId: z.ZodString;
playlistId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
year: z.ZodNullable<z.ZodNumber>;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
songs: z.ZodArray<z.ZodObject<{
type: z.ZodLiteral<"SONG">;
videoId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
album: z.ZodNullable<z.ZodObject<{
albumId: z.ZodString;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
name?: string;
albumId?: string;
}, {
name?: string;
albumId?: string;
}>>;
duration: z.ZodNullable<z.ZodNumber>;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "SONG";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
album?: {
name?: string;
albumId?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}, {
type?: "SONG";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
album?: {
name?: string;
albumId?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "ALBUM";
name?: string;
albumId?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
year?: number;
songs?: {
type?: "SONG";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
album?: {
name?: string;
albumId?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}[];
}, {
type?: "ALBUM";
name?: string;
albumId?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
year?: number;
songs?: {
type?: "SONG";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
album?: {
name?: string;
albumId?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}[];
}>;
type PlaylistFull = z.infer<typeof PlaylistFull>;
declare const PlaylistFull: z.ZodObject<{
type: z.ZodLiteral<"PLAYLIST">;
playlistId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
videoCount: z.ZodNumber;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "PLAYLIST";
name?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
videoCount?: number;
}, {
type?: "PLAYLIST";
name?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
videoCount?: number;
}>;
type SearchResult = z.infer<typeof SearchResult>;
declare const SearchResult: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
type: z.ZodLiteral<"SONG">;
videoId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
album: z.ZodNullable<z.ZodObject<{
albumId: z.ZodString;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
name?: string;
albumId?: string;
}, {
name?: string;
albumId?: string;
}>>;
duration: z.ZodNullable<z.ZodNumber>;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "SONG";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
album?: {
name?: string;
albumId?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}, {
type?: "SONG";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
album?: {
name?: string;
albumId?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}>, z.ZodObject<{
type: z.ZodLiteral<"VIDEO">;
videoId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
duration: z.ZodNullable<z.ZodNumber>;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "VIDEO";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}, {
type?: "VIDEO";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}>, z.ZodObject<{
type: z.ZodLiteral<"ALBUM">;
albumId: z.ZodString;
playlistId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
year: z.ZodNullable<z.ZodNumber>;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "ALBUM";
name?: string;
albumId?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
year?: number;
}, {
type?: "ALBUM";
name?: string;
albumId?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
year?: number;
}>, z.ZodObject<{
artistId: z.ZodString;
name: z.ZodString;
type: z.ZodLiteral<"ARTIST">;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "ARTIST";
artistId?: string;
name?: string;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}, {
type?: "ARTIST";
artistId?: string;
name?: string;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}>, z.ZodObject<{
type: z.ZodLiteral<"PLAYLIST">;
playlistId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "PLAYLIST";
name?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
}, {
type?: "PLAYLIST";
name?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
}>]>;
type HomeSection = z.infer<typeof HomeSection>;
declare const HomeSection: z.ZodObject<{
title: z.ZodString;
contents: z.ZodArray<z.ZodUnion<[z.ZodObject<{
type: z.ZodLiteral<"ALBUM">;
albumId: z.ZodString;
playlistId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
year: z.ZodNullable<z.ZodNumber>;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "ALBUM";
name?: string;
albumId?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
year?: number;
}, {
type?: "ALBUM";
name?: string;
albumId?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
year?: number;
}>, z.ZodObject<{
type: z.ZodLiteral<"PLAYLIST">;
playlistId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "PLAYLIST";
name?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
}, {
type?: "PLAYLIST";
name?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
}>, z.ZodObject<{
type: z.ZodLiteral<"SONG">;
videoId: z.ZodString;
name: z.ZodString;
artist: z.ZodObject<{
artistId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
artistId?: string;
name?: string;
}, {
artistId?: string;
name?: string;
}>;
album: z.ZodNullable<z.ZodObject<{
albumId: z.ZodString;
name: z.ZodString;
}, "strict", z.ZodTypeAny, {
name?: string;
albumId?: string;
}, {
name?: string;
albumId?: string;
}>>;
duration: z.ZodNullable<z.ZodNumber>;
thumbnails: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodNumber;
height: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
url?: string;
width?: number;
height?: number;
}, {
url?: string;
width?: number;
height?: number;
}>, "many">;
}, "strict", z.ZodTypeAny, {
type?: "SONG";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
album?: {
name?: string;
albumId?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}, {
type?: "SONG";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
album?: {
name?: string;
albumId?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
}>]>, "many">;
}, "strict", z.ZodTypeAny, {
title?: string;
contents?: ({
type?: "SONG";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
album?: {
name?: string;
albumId?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
} | {
type?: "ALBUM";
name?: string;
albumId?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
year?: number;
} | {
type?: "PLAYLIST";
name?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
})[];
}, {
title?: string;
contents?: ({
type?: "SONG";
name?: string;
videoId?: string;
artist?: {
artistId?: string;
name?: string;
};
album?: {
name?: string;
albumId?: string;
};
duration?: number;
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
} | {
type?: "ALBUM";
name?: string;
albumId?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
year?: number;
} | {
type?: "PLAYLIST";
name?: string;
artist?: {
artistId?: string;
name?: string;
};
thumbnails?: {
url?: string;
width?: number;
height?: number;
}[];
playlistId?: string;
})[];
}>;
type ProxyConfig = z.infer<typeof ProxyConfig>;
declare const ProxyConfig: z.ZodObject<{
protocol: z.ZodOptional<z.ZodEnum<["http", "https", "socks4", "socks5"]>>;
host: z.ZodString;
port: z.ZodNumber;
auth: z.ZodOptional<z.ZodObject<{
username: z.ZodString;
password: z.ZodString;
}, "strip", z.ZodTypeAny, {
username?: string;
password?: string;
}, {
username?: string;
password?: string;
}>>;
}, "strict", z.ZodTypeAny, {
protocol?: "http" | "https" | "socks4" | "socks5";
host?: string;
port?: number;
auth?: {
username?: string;
password?: string;
};
}, {
protocol?: "http" | "https" | "socks4" | "socks5";
host?: string;
port?: number;
auth?: {
username?: string;
password?: string;
};
}>;
type YTMusicOptions = z.infer<typeof YTMusicOptions>;
declare const YTMusicOptions: z.ZodObject<{
cookies: z.ZodOptional<z.ZodString>;
GL: z.ZodOptional<z.ZodString>;
HL: z.ZodOptional<z.ZodString>;
proxy: z.ZodOptional<z.ZodObject<{
protocol: z.ZodOptional<z.ZodEnum<["http", "https", "socks4", "socks5"]>>;
host: z.ZodString;
port: z.ZodNumber;
auth: z.ZodOptional<z.ZodObject<{
username: z.ZodString;
password: z.ZodString;
}, "strip", z.ZodTypeAny, {
username?: string;
password?: string;
}, {
username?: string;
password?: string;
}>>;
}, "strict", z.ZodTypeAny, {
protocol?: "http" | "https" | "socks4" | "socks5";
host?: string;
port?: number;
auth?: {
username?: string;
password?: string;
};
}, {
protocol?: "http" | "https" | "socks4" | "socks5";
host?: string;
port?: number;
auth?: {
username?: string;
password?: string;
};
}>>;
}, "strict", z.ZodTypeAny, {
cookies?: string;
GL?: string;
HL?: string;
proxy?: {
protocol?: "http" | "https" | "socks4" | "socks5";
host?: string;
port?: number;
auth?: {
username?: string;
password?: string;
};
};
}, {
cookies?: string;
GL?: string;
HL?: string;
proxy?: {
protocol?: "http" | "https" | "socks4" | "socks5";
host?: string;
port?: number;
auth?: {
username?: string;
password?: string;
};
};
}>;
declare class YTMusic {
private cookiejar;
private config?;
private client;
private proxyConfig?;
/**
* Creates an instance of YTMusic
* Make sure to call initialize()
* @param proxyConfig - Optional proxy configuration
*/
constructor(proxyConfig?: ProxyConfig | undefined);
/**
* Initializes the API
*/
initialize(options?: YTMusicOptions): Promise<this>;
/**
* Constructs a basic YouTube Music API request with all essential headers
* and body parameters needed to make the API work
*
* @param endpoint Endpoint for the request
* @param body Body
* @param query Search params
* @returns Raw response from YouTube Music API which needs to be parsed
*/
private constructRequest;
/**
* Get a list of search suggestiong based on the query
*
* @param query Query string
* @returns Search suggestions
*/
getSearchSuggestions(query: string): Promise<string[]>;
/**
* Searches YouTube Music API for results
*
* @param query Query string
*/
search(query: string): Promise<SearchResult[]>;
/**
* Searches YouTube Music API for songs
*
* @param query Query string
*/
searchSongs(query: string): Promise<SongDetailed[]>;
/**
* Searches YouTube Music API for videos
*
* @param query Query string
*/
searchVideos(query: string): Promise<VideoDetailed[]>;
/**
* Searches YouTube Music API for artists
*
* @param query Query string
*/
searchArtists(query: string): Promise<ArtistDetailed[]>;
/**
* Searches YouTube Music API for albums
*
* @param query Query string
*/
searchAlbums(query: string): Promise<AlbumDetailed[]>;
/**
* Searches YouTube Music API for playlists
*
* @param query Query string
*/
searchPlaylists(query: string): Promise<PlaylistDetailed[]>;
/**
* Get all possible information of a Song
*
* @param videoId Video ID
* @returns Song Data
*/
getSong(videoId: string): Promise<SongFull>;
/**
* Get all possible information of a Up Nexts Song
*
* @param videoId Video ID
* @returns Up Nexts Data
*/
getUpNexts(videoId: string): Promise<UpNextsDetails[]>;
/**
* Get all possible information of a Video
*
* @pa