import { FilesSubset } from '../models/FilesSubset'; import { FileDataTable } from '../models/FileDataTable'; import { FileUserPermissions } from '../models/FileUserPermissions'; import { FileSearchCriteria, FileOrderCriteria } from '../models/FileCriteria'; import { FileCounts } from '../models/FileCounts'; import { FileDownloadSizeMode } from '../models/FileDownloadSizeMode'; import { FileModel } from '../models/FileModel'; import { Dataset } from '../../../datasets'; import { FileUploadDestination } from '../models/FileUploadDestination'; import { UploadedFileDTO } from '../dtos/UploadedFileDTO'; import { UpdateFileMetadataDTO } from '../dtos/UpdateFileMetadataDTO'; import { RestrictFileDTO } from '../dtos/RestrictFileDTO'; import { FileVersionSummarySubset } from '../models/FileVersionSummaryInfo'; export interface IFilesRepository { getDatasetFiles(datasetId: number | string, datasetVersionId: string, includeDeaccessioned: boolean, fileOrderCriteria: FileOrderCriteria, limit?: number, offset?: number, fileSearchCriteria?: FileSearchCriteria): Promise; getDatasetFileCounts(datasetId: number | string, datasetVersionId: string, includeDeaccessioned: boolean, fileSearchCriteria?: FileSearchCriteria): Promise; getDatasetFilesTotalDownloadSize(datasetId: number | string, datasetVersionId: string, includeDeaccessioned: boolean, fileDownloadSizeMode: FileDownloadSizeMode, fileSearchCriteria?: FileSearchCriteria): Promise; getFileDownloadCount(fileId: number | string): Promise; getFileUserPermissions(fileId: number | string): Promise; getFileDataTables(fileId: number | string): Promise; getFile(fileId: number | string, datasetVersionId: string, returnDatasetVersion: boolean, includeDeaccessioned: boolean): Promise; getFileCitation(fileId: number | string, datasetVersionId: string, includeDeaccessioned: boolean): Promise; getFileUploadDestination(datasetId: number | string, file: File): Promise; addUploadedFilesToDataset(datasetId: number | string, uploadedFileDTOs: UploadedFileDTO[]): Promise; deleteFile(fileId: number | string): Promise; replaceFile(fileId: number | string, uploadedFileDTO: UploadedFileDTO): Promise; restrictFile(fileId: number | string, restrictFileDTO: RestrictFileDTO): Promise; updateFileMetadata(fileId: number | string, updateFileMetadataDTO: UpdateFileMetadataDTO, sourceLastUpdateTime?: string): Promise; updateFileTabularTags(fileId: number | string, tabularTags: string[], replace?: boolean): Promise; updateFileCategories(fileId: number | string, categories: string[], replace?: boolean): Promise; getFileVersionSummaries(fileId: number | string, limit?: number, offset?: number): Promise; isFileDeleted(fileId: number | string): Promise; }