export interface KosBaseGeneratorSchema { name: string; modelProject: string; registrationProject?: string; skipRegistration?: boolean; modelDirectory: string; companion?: boolean; companionModel?: string; companionModelProject?: string; companionPattern?: "composition" | "decorator"; } export interface KosModelGeneratorSchema extends KosBaseGeneratorSchema { singleton?: boolean; isContainerSingleton?: boolean; unitTests?: boolean; dataServices?: boolean; container?: boolean; parentAware?: boolean; futureAware?: "none" | "minimal" | "complete"; autoRegister?: boolean; } export interface NormalizedKosBaseGeneratorSchema< T extends KosBaseGeneratorSchema > extends T { nameDashCase: string; nameProperCase: string; nameCamelCase: string; namePascalCase: string; nameConstantCase: string; nameLowerCase: string; companionModelDashCase: string; companionModelProperCase: string; companionModelCamelCase: string; companionModelPascalCase: string; companionModelConstantCase: string; companionModelLowerCase: string; registrationProject: string; importPath: string; template: string; } export type NormalizedKosModelGeneratorSchema = NormalizedKosBaseGeneratorSchema;