UNPKG

ytmusic-api-proxy

Version:
2,058 lines (2,056 loc) 51.8 kB
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