import { IDatasetsRepository } from '../repositories/IDatasetsRepository'; import { DatasetDTO } from '../dtos/DatasetDTO'; import { ResourceValidator } from '../../../core/domain/useCases/validators/ResourceValidator'; import { IMetadataBlocksRepository } from '../../../metadataBlocks/domain/repositories/IMetadataBlocksRepository'; import { DatasetWriteUseCase } from './DatasetWriteUseCase'; export declare class UpdateDataset extends DatasetWriteUseCase { constructor(datasetsRepository: IDatasetsRepository, metadataBlocksRepository: IMetadataBlocksRepository, newDatasetValidator: ResourceValidator); /** * Updates a Dataset, given a DatasetDTO object including the updated dataset metadata field values for each metadata block * * @param {number | string} [datasetId] - The dataset identifier, which can be a string (for persistent identifiers), or a number (for numeric identifiers). * @param {DatasetDTO} [updatedDataset] - DatasetDTO object including the updated dataset metadata field values for each metadata block. * @param {string} [sourceLastUpdateTime] - The lastUpdateTime value from the dataset. If another user updates the dataset version metadata before you send the update request, data inconsistencies may occur. To prevent this, you can use the optional sourceLastUpdateTime parameter. This parameter must include the lastUpdateTime value corresponding to the dataset version being updated. * @returns {Promise} - This method does not return anything upon successful completion. * @throws {ResourceValidationError} - If there are validation errors related to the provided information. * @throws {ReadError} - If there are errors while reading data. * @throws {WriteError} - If there are errors while writing data. */ execute(datasetId: number | string, updatedDataset: DatasetDTO, sourceLastUpdateTime?: string): Promise; }