/** * (C) Copyright 2025, TCCC, All rights reserved. */ import { ProjectConfiguration, Tree } from "@nx/devkit"; /** * Zone 3: Project analysis utilities */ export interface KosJson { name?: string; type?: string; version?: string; generator?: { projectType?: string; defaults?: any; }; test?: { plugin?: { context?: string; }; }; development?: any; kosdev?: any; kos?: any; models?: any; } export interface ProjectInfo { name: string; root: string; kosJson: KosJson | null; } /** * Checks if a project is a UI project. */ export declare function isUiProject(kosJson: KosJson | null): boolean; /** * Checks if a project is a plugin project. */ export declare function isPluginProject(kosJson: KosJson | null): boolean; /** * Checks if a project is a model project. */ export declare function isModelProject(kosJson: KosJson | null): boolean; /** * Reads project's .kos.json file. */ export declare function readProjectKosJson(tree: Tree, projectRoot: string): KosJson | null; /** * Categorizes projects by type. */ export declare function categorizeProjects(tree: Tree, projects: Map): { uiProjects: ProjectInfo[]; pluginProjects: ProjectInfo[]; modelProjects: ProjectInfo[]; }; /** * Determines the plugin context for a UI project. */ export declare function derivePluginContext(projectInfo: ProjectInfo): string; /** * Determines the UI type for a host configuration. */ export declare function deriveUiType(kosJson: KosJson | null): string; /** * Finds the first available default project of each type. */ export declare function findDefaultProjects(categorized: { uiProjects: ProjectInfo[]; modelProjects: ProjectInfo[]; }): { defaultModel: string; defaultModelComponent: string; defaultUi: string; }; //# sourceMappingURL=project-analyzer.d.ts.map