export type UploadTask = { uri: string; filename: string; status: 'pending' | 'uploading' | 'success' | 'failed' | 'skipped'; progress: number; // 0-100 file_id?: string; // 后端返回的文件ID created_at: number; // unix timestamp }; export interface DatabaseInterface { initUploadTable(): Promise; insertUploadTask(task: Omit): Promise; getUploadTaskStatus(uri: string): Promise; updateUploadTaskStatus(uri: string, status: UploadTask['status'], file_id?: string): Promise; updateUploadTaskProgress(uri: string, progress: number): Promise; getUploadTasks(): Promise; cleanUpUploadTasks(): Promise; getUploadTasksSince(timestamp: number): Promise; exist_pending_tasks(): Promise; filterExistingFiles(fileUris: string[]): Promise; setAppState(key: string, value: string | null): Promise; getAppState(key: string): Promise; executeSql(sql: string, params?: any[]): Promise; }