import { ProjectFileSystem, ItemType, ItemReader, Item, ProjectEntityMatchConditions, ProjectEntityReaderReadOptions, KeyIn, ItemLink } from '@sap/artifact-management-base'; import { MdkProjectJson, MdkProjectService } from './MdkItemReaderContext'; export type ItemParserContext = { fs: ProjectFileSystem; files: string[]; projectJson?: MdkProjectJson; }; export default abstract class MdkItemReader implements ItemReader { abstract defaultType: string; protected E_INVAL_INVO: string; types: KeyIn[]; tags: string[]; patterns: string[]; abstract readonly matchConditions: ProjectEntityMatchConditions; protected pathToName(pathLike: string, suf?: string): string; protected readEntities(paths: string[], fs: ProjectFileSystem): Promise; protected itemParser(item: any, idx: number, context: ItemParserContext): Promise<{ type: string; ref: string; name: string; path: string; tags: string[]; }>; protected getFileAndType(idx: number, context: ItemParserContext): [string, string]; protected get E_UNABLE_TO_READ(): string; read({ fs, matchedFiles, context }: ProjectEntityReaderReadOptions): Promise; protected findLinks(serviceInfo: MdkProjectService[], filePath: string): ItemLink[] | undefined; }