import { type ApiTypes, Resources } from '@datocms/cma-client'; import { type CancelablePromise } from '@datocms/rest-client-utils'; import { type OnProgressInfo } from '../utils/uploadFileOrBlobAndReturnPath'; export type OnProgressCreatingUploadTrackObjectInfo = { type: 'CREATING_UPLOAD_TRACK_OBJECT'; }; export type OnUploadTrackProgressInfo = OnProgressInfo | OnProgressCreatingUploadTrackObjectInfo; export type CreateUploadTrackFromFileOrBlobSchema = Omit & { fileOrBlob: File | Blob; onProgress?: (info: OnUploadTrackProgressInfo) => void; }; export default class Upload extends Resources.UploadTrack { /** * Create a new upload track using a browser File/Blob object * * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-track/create */ createFromFileOrBlob(uploadId: string | ApiTypes.UploadData, body: CreateUploadTrackFromFileOrBlobSchema): CancelablePromise; }