export interface User { id: string email: string name: string | null role: string theme: string fontSize: string createdAt: Date updatedAt: Date lastLoginAt: Date | null } export interface BibleVerse { id: string chapterId: string verseNum: number text: string version: string chapter: { chapterNum: number book: { name: string } } } export interface ChatMessage { id: string userId: string role: 'user' | 'assistant' content: string metadata?: any createdAt: Date } export interface Bookmark { id: string userId: string verseId: string note: string | null color: string createdAt: Date verse: BibleVerse } export interface PrayerRequest { id: string userId: string | null content: string isAnonymous: boolean isPublic: boolean language: string prayerCount: number createdAt: Date updatedAt: Date } // Bible Reader 2025 Types export interface BibleChapter { id: string bookId: number bookName: string chapter: number verses: BibleVerse[] timestamp?: number } export interface ReadingPreference { fontFamily: string // 'georgia', 'inter', 'atkinson', etc. fontSize: number // 12-32 lineHeight: number // 1.4-2.2 letterSpacing: number // 0-0.15 textAlign: 'left' | 'center' | 'justify' backgroundColor: string // color code textColor: string // color code margin: 'narrow' | 'normal' | 'wide' preset: 'default' | 'dyslexia' | 'highContrast' | 'minimal' | 'custom' } export interface UserAnnotation { id: string verseId: string chapterId: string type: 'bookmark' | 'highlight' | 'note' | 'crossRef' content?: string color?: string // for highlights timestamp: number synced: boolean } export interface CacheEntry { chapterId: string data: BibleChapter timestamp: number expiresAt: number }