import { FromOptions, NotifType } from "./composables/enums"; export interface AlbumDisc { is_album_disc_number?: boolean; album_page_disc_number?: number; } export interface Track extends AlbumDisc { trackid: string; title: string; album?: string; artist: string[]; albumartist?: string; albumhash?: string; folder?: string; filepath?: string; duration?: number; bitrate?: number; genre?: string; image: string; track: number; disc: number; index: number; hash: string; copyright?: string; filetype: string; } export interface Folder { name: string; path: string; trackcount: number; subdircount: number; is_sym: boolean; } export interface AlbumInfo { albumid: string; title: string; artist: string; count: number; duration: number; date: string; image: string; artistimg: string; is_compilation: boolean; is_soundtrack: boolean; is_single: boolean; hash: string; colors: string[]; copyright?: string; } export interface Artist { name: string; image: string; } export interface Option { type?: string; label?: string; action: () => void; children?: Option[] | false; icon?: string; critical?: Boolean; } export interface Playlist { playlistid: string; name: string; image: string | FormData; tracks: Track[]; count: number; lastUpdated: string; thumb: string; duration: number; } export interface Notif { text: string; type: NotifType; } export interface fromFolder { type: FromOptions.folder; path: string; name: string; } export interface fromAlbum { type: FromOptions.album; name: string; hash: string; albumartist: string; } export interface fromPlaylist { type: FromOptions.playlist; name: string; playlistid: string; } export interface fromSearch { type: FromOptions.search; query: string; } export interface subPath { name: string; path: string; active: boolean; } export interface FetchProps { url: string; props?: {}; get?: boolean; put?: boolean; headers?: {}; } export interface FuseResult { item: Track; refIndex: number; }