import { Service } from '../cp/Service'; import { MtaModuleRequires, MtaModule } from './Module'; import { ModuleType } from '../definitions/ModuleType'; import { ModuleGeneratorContext } from './ModuleGeneratorContext'; import { KeyIn } from '../util/Types'; export default interface ModuleManifestGenerator { getType: () => KeyIn; beforeBuildCommands(context?: ModuleGeneratorContext): Promise; provideResources: (context: ModuleGeneratorContext) => Promise; getModuleManifest: (context: ModuleGeneratorContext, useHeadlessGenerator?: boolean) => Promise; requires: (context: ModuleGeneratorContext) => MtaModuleRequires[]; }