import { UseCase } from '../../../core/domain/useCases/UseCase'; 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 { MetadataBlock } from '../../../metadataBlocks'; export declare abstract class DatasetWriteUseCase implements UseCase { private datasetsRepository; private metadataBlocksRepository; private newDatasetValidator; constructor(datasetsRepository: IDatasetsRepository, metadataBlocksRepository: IMetadataBlocksRepository, newDatasetValidator: ResourceValidator); abstract execute(...args: unknown[]): Promise; getDatasetsRepository(): IDatasetsRepository; getMetadataBlocksRepository(): IMetadataBlocksRepository; getNewDatasetValidator(): ResourceValidator; getNewDatasetMetadataBlocks(dataset: DatasetDTO): Promise; }