export enum VoiceName { Puck = 'Puck', Charon = 'Charon', Kore = 'Kore', Fenrir = 'Fenrir', Zephyr = 'Zephyr', } export enum PlaybackStatus { IDLE = 'IDLE', LOADING_TEXT = 'LOADING_TEXT', LOADING_AUDIO = 'LOADING_AUDIO', READY = 'READY', PLAYING = 'PLAYING', PAUSED = 'PAUSED', ERROR = 'ERROR', COMPLETED = 'COMPLETED' } export interface Article { id: string; url: string; title: string; text: string; audioUrl?: string; // Blob URL for the WAV file status: PlaybackStatus; errorMessage?: string; } export interface PlayerState { isPlaying: boolean; playbackRate: number; currentArticleId: string | null; selectedVoice: VoiceName; }