import { Except } from 'type-fest'; import * as bT from '../mixins/browsing.types'; import { parseSongArtistsRuns, parseSongRuns, parseSongRunsReturn } from './songs'; export declare type parseAlbumReturn = { title: string; year: string; browseId: string; thumbnails: bT.thumbnails; }; export declare type parseSingleReturn = { title: string; year: string; browseId: string; thumbnails: bT.thumbnails; }; export declare type parseSongReturn = { title: string; videoId: string; playlistId: string; thumbnails: bT.thumbnails; } & ReturnType; export declare type parseVideoReturn = { title: string; videoId: string; artists: ReturnType; playlistId: string; thumbnails: bT.thumbnails; views?: string; }; export declare type parseArtistContentsReturn = { albums: { browseId: string | null; results: parseAlbumReturn[]; params: string; }; singles: { browseId: string | null; results: parseSingleReturn[]; params: string; }; videos: { browseId: string | null; results: parseVideoReturn[]; }; playlists: { browseId: string | null; results: parsePlaylistReturn[]; params: string; }; related: { browseId: string | null; results: parseRelatedArtistReturn[]; }; }; export declare type parsePlaylistReturn = { title: string; playlistId: string; thumbnails: string; description?: string; author?: ReturnType; count?: string; }; export declare type parseRelatedArtistReturn = { title: string; browseId: string; subscribers: string | null; thumbnails: bT.thumbnails; }; export declare type parseHomeReturn = { title: string; contents: (parseSongReturn | parseAlbumReturn | parseRelatedArtistReturn | parsePlaylistReturn | ({ title: string; videoId: string; thumbnails: bT.thumbnails; } & Except & { album?: parseSongRunsReturn['album'] | { title: string; browseId: string; }; }))[]; }[];