export interface LyricLine { time: number; // in seconds text: string; } export interface TrackData { title: string; artist: string; coverUrl: string; audioUrl: string; lyrics: LyricLine[]; lyricsSource?: string; // Optional URL or raw string for deferred parsing } export enum PlayerState { IDLE = 'IDLE', LOADING = 'LOADING', PLAYING = 'PLAYING', PAUSED = 'PAUSED', } export type PlaybackMode = 'SEQUENCE' | 'SHUFFLE';