import type { PaginationParams } from '../../../providers/database/pagination/schemas.js'; import type { EntityReadModelSchema, EntitySource, EntityRelationReadModelSchema } from '../schemas/read-model-schemas.js'; import type { CatalogFiltersParams, CreateEntityParams } from './repositories/types.js'; import type { BffCatalogEntity, BffCatalogEntityList, BffCatalogRelatedEntityList, SidebarConnectedEntity } from '@redocly/theme/core/types'; import type { ServiceInstanceOptions } from '../../../providers/database/types.js'; import type { TransactionsManager } from '../../../providers/database/transactions-manager.js'; import type { Filter } from '../../../providers/database/pagination/types.js'; import type { ScorecardsStatus } from '../entities/types.js'; import type { GetEntityByIdParams } from '../types/params.js'; import type { BulkSyncResult } from './types.js'; import { type EntityDtoSchema, type EntityRelationDtoSchema } from '../schemas/dto-schemas.js'; import { CatalogEntitiesRepository } from './repositories/catalog-entities-repository.js'; import { type ListResponseResult } from '../../../web-server/utils/prepare-list-response.js'; export declare class CatalogEntitiesService { #private; constructor(catalogEntitiesRepository: CatalogEntitiesRepository, options?: ServiceInstanceOptions); static getInstance(options: ServiceInstanceOptions): Promise; sync(): Promise; transaction(...args: Parameters): Promise; getEntities({ paginationParams, rbacTeams, excludedTypes, excludedEntities, }: { paginationParams: PaginationParams; rbacTeams?: string[]; excludedTypes?: string[]; excludedEntities?: string[]; }): Promise>; getEntityById(id: string, params?: GetEntityByIdParams): Promise; getEntityKeysAndVersionsBySourceFile(sourceFile: string): Promise>; getEntitiesCountByTypes(): Promise<{ type: string; count: number; }[]>; getCatalogFilters(params: CatalogFiltersParams): Promise>; getEntityRelationById(id: string): Promise; getEntitiesRelations(paginationParams?: PaginationParams): Promise>; getEntitiesWithRelations({ paginationParams, rbacTeams, excludedTypes, excludedEntities, }: { paginationParams: PaginationParams; rbacTeams?: string[]; excludedTypes?: string[]; excludedEntities?: string[]; }): Promise; getEntityWithRelationsByKey({ entityKey, filter, rbacTeams, excludedTypes, excludedEntities, }: { entityKey: string; filter?: { revision?: string | null; version?: string | null; }; rbacTeams?: string[]; excludedTypes?: string[]; excludedEntities?: string[]; }): Promise; getRelatedEntities({ entityKey, paginationParams, rbacTeams, excludedTypes, excludedEntities, }: { entityKey: string; paginationParams: PaginationParams; rbacTeams?: string[]; excludedTypes?: string[]; excludedEntities?: string[]; }): Promise; listEntityRevisions(entityKey: string, version?: string | null): Promise; getOutdatedEntities(filter?: Filter): Promise; getEntitiesCount(source: EntitySource, addedEntities?: EntityReadModelSchema[], entitiesRemovedCount?: number): Promise<{ total: number; }>; createEntity(createEntityParams: CreateEntityParams): Promise; createEntities(entities: EntityDtoSchema[], source: EntitySource): Promise>; getEntitySources(): Record; /** * Use only internally, everything that is created via API should be created in the remote database. * @param relations - The entity to create. */ createEntityRelations(relations: EntityRelationDtoSchema[]): Promise; updateEntity(incomingEntity: Partial, entityToBeUpdated: EntityReadModelSchema): Promise; deleteEntity(entityToBeRemoved: EntityReadModelSchema): Promise; deleteEntities(filter: Filter): Promise; createEntityRelation(relation: EntityRelationDtoSchema): Promise; createEntitiesRelations(entities: EntityRelationDtoSchema[]): Promise>; updateEntityRelation(incomingRelationData: Partial, relationToBeUpdated: EntityRelationReadModelSchema): Promise; deleteEntityRelation(id: string): Promise; softDeleteEntitiesWithRelations({ filter, revision, fileHash, }: { filter: Filter; revision: string; fileHash: string; }): Promise; updateEntityScorecardsStatus(entityId: string, status: ScorecardsStatus): Promise; updateEntityScorecardsStatusIfCalculating(entityId: string, status: Extract): Promise; setEntitiesAsOutdated(filter: Filter): Promise; } //# sourceMappingURL=catalog-entities-service.d.ts.map