/// import { EventEmitter } from 'events'; import type { Logger } from '../logger'; import type { ILogger } from '../logger/constants'; import type { MaterialsManager } from '../materials'; import { FsMaterial } from '../materials/FsMaterial'; import { fs } from '@modern-js/codesmith-utils/fs-extra'; import type { GeneratorContext } from './constants'; interface ICreateOptions { logger: Logger; materialsManager: MaterialsManager; outputPath: string; } export declare class GeneratorCore { logger: ILogger; materialsManager: MaterialsManager; outputPath: string; basePath: string; output: { fs: (file: string | number, data: any, options?: fs.WriteFileOptions | string) => Promise; }; _context: GeneratorContext; event: EventEmitter; constructor({ logger, materialsManager, outputPath }: ICreateOptions); private get lifeCycleMethod(); private setConfig; addMaterial(key: string, material: FsMaterial): void; private setCurrent; private setOutputPath; private setbasePath; private loadLocalGenerator; private loadRemoteGenerator; handleForged(generatorName: string, context: { materials: { default: { basePath: string; }; }; data: Record; config: Record; }, needWait?: boolean, projectPath?: string): Promise; loadGenerator(generator: string): Promise<{ materialKey?: undefined; generatorPkg?: undefined; generatorScript?: undefined; } | { materialKey: string; generatorPkg: FsMaterial; generatorScript: any; }>; runGenerator(generator: string, config?: Record): Promise; runSubGenerator(subGenerator: string, relativePwdPath?: string, config?: Record): Promise; prepareGenerators(generators: string[]): Promise; prepareGlobal(): Promise; } export {};