/** A file that uploaded successfully via a batch / company-documents endpoint. */
export interface UploadedFile {
  file_id: string;
  filename: string;
  content_type: string;
  size: number;
  message?: string;
}

/** A file that failed to upload, surfaced so the user can retry it. */
export interface FailedFile {
  filename: string;
  error: string;
  code?: string;
}

/** `data` payload of `POST /companies/:id/documents` (wrapped in ApiResponse). */
export interface UploadDocumentsData {
  document_file_ids: string[];
  uploaded: UploadedFile[];
  failed?: FailedFile[];
}

/** Body of `POST /files/upload/batch` — returned directly, not wrapped. */
export interface BatchUploadResult {
  uploaded: UploadedFile[];
  failed?: FailedFile[];
  message?: string;
}

/** Normalized metadata for a stored file (`GET /files/:id/info`). */
export interface FileInfo {
  file_id: string;
  filename: string;
  content_type: string;
  size: number;
}
