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 { CreatedDatasetIdentifiers } from '../models/CreatedDatasetIdentifiers'; import { DatasetWriteUseCase } from './DatasetWriteUseCase'; export declare class CreateDataset extends DatasetWriteUseCase { constructor(datasetsRepository: IDatasetsRepository, metadataBlocksRepository: IMetadataBlocksRepository, newDatasetValidator: ResourceValidator); /** * Creates a new Dataset in a collection, given a DatasetDTO object and an optional collection identifier, which defaults to :root. * * @param {DatasetDTO} [newDataset] - DatasetDTO object including the new dataset metadata field values for each metadata block. * @param {string} [collectionId] - Specifies the collection identifier where the new dataset should be created (optional, defaults to :root). * @param {string} [datasetType] - Specifies the dataset type (optional, when omitted, defaults to "dataset"). * @returns {Promise} * @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(newDataset: DatasetDTO, collectionId?: string, datasetType?: string): Promise; }