import { type EntityFileSchema } from '@redocly/config'; import type { AfterRoutesCreatedActions, FileInfo, LifecycleContext } from '../../../../../types'; import type { CatalogEntitiesService } from '../../../database/catalog-entities-service.js'; import type { BaseEntitiesExtractor } from '../base'; import type { FileType } from '../../../../../persistence/file-hashes/types.js'; import type { HashManager } from '../../../utils/hash-manager.js'; import type { BaseApiEntitiesExtractorParams, SpecType } from '../../../types/extractors.js'; export declare abstract class BaseApiEntitiesExtractor> implements BaseEntitiesExtractor { #private; protected type: "api-description"; protected specType: SpecType; protected fileType: FileType; protected actions: AfterRoutesCreatedActions; protected context: LifecycleContext; protected catalogEntitiesService: CatalogEntitiesService; protected fileHashManager: HashManager; protected entitySources: Record; constructor(specType: SpecType, params: BaseApiEntitiesExtractorParams); extract(): Promise; protected validateEntityRelationFileSchema(relation: unknown): void; protected getRbacTeamsForDefinition(relativePath: string): string[]; protected abstract loadApiDescriptions(): Promise; protected abstract mapApiDescriptionToEntity(definition: BundledApiDefinition, version: string, rbacTeams: string[]): EntityFileSchema; protected abstract processApiDescription(definition: BundledApiDefinition, revision: string, version: string, entitiesToRemoveFromFile: Set): Promise; } //# sourceMappingURL=base.d.ts.map