export interface ApiResponse { success: boolean; data: T; message: string; timestamp: string; } export interface ApiErrorResponse { success: false; error: { code: string; message: string; details?: any; }; timestamp: string; } export interface PaginatedResponse { data: T[]; pagination: { page: number; limit: number; total: number; totalPages: number; }; } export interface ApiRequestConfig { timeout?: number; retries?: number; retryDelay?: number; headers?: Record; } export interface FileUploadProgress { loaded: number; total: number; percentage: number; } export interface FileUploadResponse { fileId: string; filename: string; url: string; size: number; mimeType: string; }