import { ApiRepository } from '../../../core/infra/repositories/ApiRepository'; import { ICollectionsRepository } from '../../domain/repositories/ICollectionsRepository'; import { Collection } from '../../domain/models/Collection'; import { CollectionDTO } from '../../domain/dtos/CollectionDTO'; import { CollectionFacet } from '../../domain/models/CollectionFacet'; import { CollectionUserPermissions } from '../../domain/models/CollectionUserPermissions'; import { CollectionItemSubset } from '../../domain/models/CollectionItemSubset'; import { MyDataCollectionItemSubset } from '../../domain/models/MyDataCollectionItemSubset'; import { CollectionSearchCriteria } from '../../domain/models/CollectionSearchCriteria'; import { CollectionItemType } from '../../domain/models/CollectionItemType'; import { FeaturedItem } from '../../domain/models/FeaturedItem'; import { FeaturedItemsDTO } from '../../domain/dtos/FeaturedItemsDTO'; import { PublicationStatus } from '../../../core/domain/models/PublicationStatus'; import { CollectionLinks } from '../../domain/models/CollectionLinks'; import { CollectionSummary } from '../../domain/models/CollectionSummary'; import { LinkingObjectType } from '../../domain/useCases/GetCollectionsForLinking'; export interface NewCollectionRequestPayload { alias: string; name: string; dataverseContacts: NewCollectionContactRequestPayload[]; dataverseType: string; description?: string; affiliation?: string; metadataBlocks: NewCollectionMetadataBlocksRequestPayload; } export interface NewCollectionContactRequestPayload { contactEmail: string; } export interface NewCollectionMetadataBlocksRequestPayload { metadataBlockNames?: string[]; facetIds?: string[]; inputLevels?: NewCollectionInputLevelRequestPayload[]; inheritMetadataBlocksFromParent?: boolean; inheritFacetsFromParent?: boolean; } export interface NewCollectionInputLevelRequestPayload { datasetFieldTypeName: string; include: boolean; required: boolean; } export declare enum GetCollectionItemsQueryParams { QUERY = "q", SHOW_FACETS = "show_facets", SORT = "sort", ORDER = "order", SUBTREE = "subtree", PER_PAGE = "per_page", START = "start", TYPE = "type", FILTERQUERY = "fq", SHOW_TYPE_COUNTS = "show_type_counts", SEARCH_SERVICE_NAME = "search_service" } export declare enum GetMyDataCollectionItemsQueryParams { SEARCH_TEXT = "mydata_search_term", PER_PAGE = "per_page", SELECTED_PAGE = "selected_page", ROLE_ID = "role_ids", TYPE = "dvobject_types", PUBLISHED_STATES = "published_states", USER_IDENTIFIER = "userIdentifier" } export declare class CollectionsRepository extends ApiRepository implements ICollectionsRepository { private readonly collectionsResourceName; getCollection(collectionIdOrAlias?: number | string): Promise; createCollection(collectionDTO: CollectionDTO, parentCollectionId?: number | string): Promise; getCollectionFacets(collectionIdOrAlias: string | number): Promise; publishCollection(collectionIdOrAlias: string | number): Promise; deleteCollection(collectionIdOrAlias: number | string): Promise; getCollectionUserPermissions(collectionIdOrAlias: number | string): Promise; getCollectionItems(collectionId?: string, limit?: number, offset?: number, collectionSearchCriteria?: CollectionSearchCriteria, searchServiceName?: string, showTypeCounts?: boolean): Promise; updateCollection(collectionIdOrAlias: string | number, updatedCollection: CollectionDTO): Promise; getMyDataCollectionItems(roleIds: number[], collectionItemTypes: CollectionItemType[], publicationStatuses: PublicationStatus[], limit?: number, selectedPage?: number, searchText?: string, userIdentifier?: string): Promise; private createCreateOrUpdateRequestBody; private applyCollectionSearchCriteriaToQueryParams; getCollectionFeaturedItems(collectionIdOrAlias: number | string): Promise; updateCollectionFeaturedItems(collectionIdOrAlias: number | string, featuredItemsDTO: FeaturedItemsDTO): Promise; private toFeaturedItemsFormData; deleteCollectionFeaturedItems(collectionIdOrAlias: number | string): Promise; deleteCollectionFeaturedItem(featuredItemId: number): Promise; linkCollection(linkedCollectionIdOrAlias: number | string, linkingCollectionIdOrAlias: number | string): Promise; unlinkCollection(linkedCollectionIdOrAlias: number | string, linkingCollectionIdOrAlias: number | string): Promise; getCollectionLinks(collectionIdOrAlias: number | string): Promise; getCollectionsForLinking(objectType: LinkingObjectType, id: number | string, searchTerm: string, alreadyLinked: boolean): Promise; }