export type MediaCategory = 'Anime' | 'Movies' | 'TV Series' | 'Music' | 'Books' | 'Adult' | 'Consoles' | 'Games'; export interface Media { id: string; title: string; year: string; poster: string; category: MediaCategory; aspectRatio?: '2/3' | '16/9' | '1/1'; type?: 'TV' | 'Movie' | 'OVA' | 'ONA' | 'Album' | 'Single' | 'Hardcover' | 'E-book' | 'Console' | 'Game'; banner?: string; description?: string; rating?: number; genres?: string[]; tags?: string[]; studios?: string[]; status?: 'watching' | 'completed' | 'planned' | 'dropped' | 'reading' | 'listening' | 'playing' | 'on-hold'; episodes?: Episode[]; staff?: Staff[]; categories?: string[]; platforms?: string[]; developers?: string[]; completionStatus?: string; source?: string; playCount?: number; lastActivity?: string | null; playtime?: number; } export interface Episode { id: string; number: number; title: string; date: string; duration: string; description: string; thumbnail: string; } export interface Staff { id: string; name: string; role: string; photo: string; characterName: string; characterImage: string; mediaId?: string; mediaTitle?: string; bio?: string; birthDate?: string; birthPlace?: string; occupations?: string[]; }