export enum AppLanguage { EN = 'en', ZH_CN = 'zh-CN', ZH_TW = 'zh-TW', JA = 'ja' } export enum ChatMode { STANDARD = 'standard', // Flash + Search DEEP = 'deep', // Pro + Thinking FAST = 'fast' // Flash Lite } export enum ChatScenario { GENERAL = 'general', READING = 'reading', CONCEPT = 'concept', RESEARCH = 'research' } export interface Message { id: string; role: 'user' | 'model'; content: string; timestamp: number; attachments?: Attachment[]; isThinking?: boolean; groundingMetadata?: GroundingMetadata; model?: string; // 模型名称 } export interface GroundingMetadata { searchEntryPoint?: { renderedContent: string }; groundingChunks?: Array<{ web?: { uri: string; title: string }; }>; } export interface Attachment { type: 'image' | 'audio' | 'video'; mimeType: string; data: string; // Base64 name?: string; } export interface UserSettings { language: AppLanguage; theme: 'light' | 'dark'; isOnboarded?: boolean; apiKey?: string; } export interface ChatSession { id: string; title: string; messages: Message[]; mode: ChatMode; scenario?: ChatScenario; createdAt: number; }