import { DriveChart } from './songDetails.interface' /** * Represents a user's request to interact with the download system. */ export interface Download { action: 'add' | 'retry' | 'cancel' versionID: number data?: NewDownload // Should be defined if action == 'add' } /** * Contains the data required to start downloading a single chart. */ export interface NewDownload { avTagName: string artist: string charter: string driveData: DriveChart } /** * Represents the download progress of a single chart. */ export interface DownloadProgress { versionID: number title: string header: string description: string percent: number type: ProgressType } export type ProgressType = 'good' | 'warning' | 'error' | 'cancel' | 'done' | 'fastUpdate' // export function downloadSorter(p1: DownloadProgress, p2: DownloadProgress) { // return 0 // // return p1 - p2 // negative if p1 < p2 // }