type BaseResult = { existing?: boolean, artist: string, song: string, album: string, ext: string, } type ExistingResult = { existing: true } & BaseResult type DownloadedResult = { filePath: string, temp?: boolean } & BaseResult export type DownloaderResult = ExistingResult | DownloadedResult;