@forge/cli

12.19.012.19.0-experimental-a6c6519
out/service/module-service.d.ts
+out/service/module-service.d.tsNew file
+37
Index: package/out/service/module-service.d.ts
===================================================================
--- package/out/service/module-service.d.ts
+++ package/out/service/module-service.d.ts
@@ -0,0 +1,37 @@
+import { TemplateModuleServices, ModuleTemplateMeta, UIFramework, TemplateVariableDef } from '@forge/cli-shared';
+export interface AddModuleOptions {
+    moduleType?: string;
+    uiType?: UIFramework;
+    product?: string;
+    dryRun?: boolean;
+    force?: boolean;
+    variables?: Record<string, string>;
+    install?: boolean;
+    upgradeDeps?: boolean;
+}
+export interface ManifestKeys {
+    moduleKeys: Set<string>;
+    functionKeys: Set<string>;
+    resourceKeys: Set<string>;
+}
+export declare class ModuleService {
+    private readonly templateServices;
+    private readonly cacheDirs;
+    constructor(templateServices: TemplateModuleServices);
+    getAvailableModules(product: string): Promise<Map<string, ModuleTemplateMeta>>;
+    getModuleChoice(moduleMap: Map<string, ModuleTemplateMeta>): Map<string, ModuleTemplateMeta>;
+    downloadSelectedTemplate(template: ModuleTemplateMeta, uiFramework?: UIFramework): Promise<ModuleTemplateMeta | undefined>;
+    cleanup(): void;
+    parseManifestAndExtractKeys(content: string, filePath: string, moduleKey?: string): ManifestKeys;
+    readManifestFragment(templateCacheDir: string): string | undefined;
+    checkDuplicateKey(varDef: TemplateVariableDef, value: string, existingKeys: ManifestKeys, moduleKey: string): string | undefined;
+    validateFragment(substitutedFragment: string, manifestPath: string, currentValue: string, moduleKey: string): Promise<string[]>;
+    getVariableDefinitions(template: ModuleTemplateMeta, uiFramework?: UIFramework): TemplateVariableDef[];
+    loadManifestContext(moduleKey: string): {
+        manifestPath: string;
+        existingKeys: ManifestKeys;
+    };
+    computeEffectiveDefault(varDef: TemplateVariableDef, variables: Record<string, string>): string | undefined;
+    validateCandidateValue(varDef: TemplateVariableDef, value: string, existingKeys: ManifestKeys, moduleKey: string, fragmentContent: string | undefined, variables: Record<string, string>, manifestPath: string): Promise<string[]>;
+}
+//# sourceMappingURL=module-service.d.ts.map
\ No newline at end of file