export interface UploadCompleteEvent {
  identifier: string;
  filename: string;
  size: number;
  hash: string;
  integrityVerified: boolean;
}

export type UploadEvent = {
  uploadStart: {
    identifier: string;
    filename: string;
    totalSize: number;
    resuming?: boolean;
  };
  uploadComplete: UploadCompleteEvent;
  uploadError: { identifier: string; error: string; filename: string };
};
export interface UploadLock {
  clientId: string;
  timestamp: number;
}

export interface ShareCode {
  id: string;
  code: string;
  fileId: string;
  createdAt: Date;
  expiresAt: Date;
  isUsed: boolean;
  fileName?: string | null;
}

export interface GenerateShareCodeResponse {
  code: string;
  expiresAt: Date;
}

// 添加重试机制，处理临时网络问题
// 实现定期清理过期的临时文件
// 添加文件完整性校验
// 实现上传进度持久化，支持服务重启后恢复
// 添加并发限制，防止系统资源耗尽
// 实现文件去重功能，避免重复上传
// 添加日志记录和监控机制
// 添加文件类型限制
// 添加文件大小限制
// 添加文件上传时间限制
// 添加文件上传速度限制
// 添加文件上传队列管理
// 添加文件上传断点续传
// 添加文件上传进度条
