export interface Level { id: string imageUrl: string answer: string hint1: string | null hint2: string | null hint3: string | null sortOrder: number createdAt: Date updatedAt: Date } export interface LevelFormData { imageUrl: string answer: string hint1?: string hint2?: string hint3?: string } export interface ReorderRequest { orders: { id: string; sortOrder: number }[] } export interface User { id: string email: string emailVerified: boolean name: string | null image: string | null createdAt: Date updatedAt: Date } export interface UserFormData { email: string password: string name?: string } export interface WxUser { id: string openid: string sessionKey: string | null nickname: string | null avatarUrl: string | null points: number createdAt: Date updatedAt: Date } export interface WxUserLevelProgress { id: string userId: string levelId: string completedAt: Date level?: { id: string answer: string } } export interface WxUserWithProgress extends WxUser { levelProgress: WxUserLevelProgress[] }