import type { artistType } from './artist'; interface mediaType { TYPE: 'preview'; HREF: string; } interface lyricsSync { lrc_timestamp: string; milliseconds: string; duration: string; line: string; } export interface lyricsType { LYRICS_ID?: string; LYRICS_SYNC_JSON?: lyricsSync[]; LYRICS_TEXT: string; LYRICS_COPYRIGHTS?: string; LYRICS_WRITERS?: string; } interface songType { ALB_ID: string; ALB_TITLE: string; ALB_PICTURE: string; ARTISTS: artistType[]; ART_ID: string; ART_NAME: string; ARTIST_IS_DUMMY: boolean; ART_PICTURE: string; DATE_START: string; DISK_NUMBER?: string; DURATION: string; EXPLICIT_TRACK_CONTENT: { EXPLICIT_LYRICS_STATUS: number; EXPLICIT_COVER_STATUS: number; }; ISRC: string; LYRICS_ID: number; LYRICS?: lyricsType; EXPLICIT_LYRICS?: string; RANK: string; SMARTRADIO: string; SNG_ID: string; SNG_TITLE: string; SNG_CONTRIBUTORS?: { main_artist: string[]; author?: string[]; composer?: string[]; musicpublisher?: string[]; producer?: string[]; publisher: string[]; engineer?: string[]; writer?: string[]; mixer?: string[]; } | []; STATUS: number; S_MOD: number; S_PREMIUM: number; TRACK_NUMBER: number; URL_REWRITING: string; VERSION?: string; MD5_ORIGIN: string; FILESIZE_AAC_64: '0'; FILESIZE_MP3_64: string; FILESIZE_MP3_128: string; FILESIZE_MP3_256: '0'; FILESIZE_MP3_320: '0'; FILESIZE_MP4_RA1: '0'; FILESIZE_MP4_RA2: '0'; FILESIZE_MP4_RA3: '0'; FILESIZE_FLAC: '0'; FILESIZE: string; GAIN: string; MEDIA_VERSION: string; TRACK_TOKEN: string; TRACK_TOKEN_EXPIRE: number; MEDIA: [mediaType]; RIGHTS: { STREAM_ADS_AVAILABLE?: boolean; STREAM_ADS?: string; STREAM_SUB_AVAILABLE?: boolean; STREAM_SUB?: string; }; PROVIDER_ID: string; __TYPE__: 'song'; } export interface trackType extends songType { FALLBACK?: songType; TRACK_POSITION?: number; } export interface contributorsPublicApi { id: number; name: string; link: string; share: string; picture: string; picture_small: string; picture_medium: string; picture_big: string; picture_xl: string; radio: boolean; tracklist: string; type: string; role: string; } export interface trackTypePublicApi { id: number; readable: boolean; title: string; title_short: string; title_version?: string; isrc: string; link: string; share: string; duration: number; track_position: number; disk_number: number; rank: number; release_date: string; explicit_lyrics: boolean; explicit_content_lyrics: number; explicit_content_cover: number; preview: string; bpm: number; gain: number; available_countries: string[]; contributors: contributorsPublicApi[]; md5_image: string; artist: contributorsPublicApi; album: { id: number; title: string; link: string; cover: string; cover_small: string; cover_medium: string; cover_big: string; cover_xl: string; md5_image: string; release_date: string; tracklist: string; type: 'album'; }; type: 'track'; } export {};