import { KeyIn } from '../util/Types'; import ProjectEntityReader, { ProjectEntityMatchConditions, ProjectEntityReaderReadOptions } from '../project-api/ProjectEntityReader'; import { ProjectType } from '../definitions/ProjectType'; import { ModuleReader } from './ModuleReader'; import { DetectionMechanism } from './PluginEntryTypes'; import { ProjectData } from './ProjectData'; export type ProjectReaderOptions = ProjectEntityReaderReadOptions; export declare abstract class ProjectReader implements ProjectEntityReader { readonly matchConditions: ProjectEntityMatchConditions; static readonly type = "sap.project.plugin.type.project-reader"; projectType: string | undefined; tags: string[]; /** * Additional module readers that relate to parts of the project that are not represented by a standalone module. * For each entry the first matching reader will be used similar like the directory matching works. * The readers will be called for the project directory. */ additionalModuleReaders: ModuleReader[][]; constructor(matchConditions: ProjectEntityMatchConditions); abstract getType(): KeyIn; abstract getDetectionMechanism(): DetectionMechanism; read(options: ProjectReaderOptions): Promise; /** * Return patterns to search for module directories * * @param options */ moduleSearchPattern(): Promise; }