import type { MemFsEditor } from 'mem-fs-editor'; import type { Storage } from 'yeoman-generator'; import type { ApplicationType, BaseApplicationSource } from '../../lib/types/application/application.js'; import type { Entity } from '../../lib/types/application/entity.js'; import type { Entity as BaseEntity } from '../../lib/types/base/entity.js'; import type { Control } from './types.js'; export default class SharedData { _storage: any; _editor: MemFsEditor; _log: any; _logCwd: string; constructor(storage: Storage, { memFs, destinationPath, log, logCwd }: { memFs: any; destinationPath: any; log: any; logCwd: any; }, initialControl?: Partial); getSource(): BaseApplicationSource; getControl(): Control; getApplication(): Application; setEntity(entityName: string, entity: { name: string; } & Partial): void; hasEntity(entityName: string): boolean; getEntity(entityName: string): EntityType; getEntities(entityNames?: string[]): { entityName: string; entity: EntityType; }[]; getEntitiesMap(): Record; }