import { UseCase } from '../../../core/domain/useCases/UseCase'; import { UploadedFileDTO } from '../dtos/UploadedFileDTO'; import { IFilesRepository } from '../repositories/IFilesRepository'; export declare class ReplaceFile implements UseCase { private filesRepository; constructor(filesRepository: IFilesRepository); /** * Replaces an existing file. * * This method completes the flow initiated by the UploadFile use case, which involves replacing an existing file with a new one just uploaded. * (https://guides.dataverse.org/en/latest/developers/s3-direct-upload-api.html#replacing-an-existing-file-in-the-dataset) * * Note: This use case can be used independently of the UploadFile use case, e.g., supporting scenarios in which the files already exist in S3 or have been uploaded via some out-of-band method. * * @param {number | string} [fileId] - The File identifier, which can be a string (for persistent identifiers), or a number (for numeric identifiers). * @param {UploadedFileDTO} [uploadedFileDTO] - File DTO associated with the uploaded file. * @returns {Promise} A promise that resolves when the file has been successfully replaced and returns the new file identifier. * @throws {WriteError} - If there are errors while writing data. */ execute(fileId: number | string, uploadedFileDTO: UploadedFileDTO): Promise; }