import { Entity, ProjectModel } from "../../../common/model/cuba-model"; import * as Generator from "yeoman-generator"; import * as ts from "typescript"; import { ImportInfo } from "../import-utils"; import { ModelContext } from "./model-utils"; export interface ProjectEntityInfo { entity: Entity; isBaseProjectEntity: boolean; } export declare type ClassCreationContext = ModelContext & { entity: Entity; isBaseProjectEntity: boolean; }; /** * * Generate TS entity classes from ProjectModel, write generated files to destDir * * @param projectModel project model entities generated from * @param destDir where created TS files should be placed, also need to compute correct imports in generated TS files * @param fs Yeoman MemFs editor * @return model context contains entity and enum maps with fqn as key */ export declare function generateEntities(projectModel: ProjectModel, destDir: string, fs: Generator.MemFsEditor): ModelContext; export declare function createEntityClass(ctx: ClassCreationContext): { classDeclaration: ts.ClassDeclaration; importInfos: ImportInfo[]; };