import { Service } from '../cp/Service'; import ModuleManifestGenerator from './ModuleManifestGenerator'; import { ProjectType } from '../definitions/ProjectType'; import { ModuleGeneratorContext } from './ModuleGeneratorContext'; import { KeyIn } from '../util/Types'; export type Mta = { '_schema-version': string; ID: string; version: string; description?: string; parameters?: { 'enable-parallel-deployments'?: boolean; }; 'build-parameters'?: { 'before-all'?: { builder: string; commands: string[]; }[]; }; modules: any; resources: any; }; export default interface ProjectManifestGenerator { getType: () => KeyIn; beforeBuildCommands(context?: ModuleGeneratorContext): Promise; provideResources: (context: ModuleGeneratorContext) => Service[]; getProjectManifest: (context: ModuleGeneratorContext) => Promise; getModuleGenerators: (context: ModuleGeneratorContext) => ModuleManifestGenerator[]; }