import type Generator from 'yeoman-generator'; import type { AppWizard, Prompts } from '@sap-devx/yeoman-ui-types'; import type { ToolsLogger } from '@sap-ux/logger'; import type { ManifestNamespace } from '@sap-ux/project-access'; import type { ConfigAnswers, AttributesAnswers, SystemLookup, FlexLayer, Endpoint } from '@sap-ux/adp-tooling'; import { AdaptationProjectType } from '@sap-ux/axios-extension'; /** * Parameters required for composing the extension project generator. */ interface ExtProjectGenProps { configAnswers: ConfigAnswers; attributeAnswers: AttributesAnswers; systemLookup: SystemLookup; } /** * Parameters required for composing the FLP config generator. */ interface FlpGenProps { vscode: unknown; projectRootPath: string; inbounds?: ManifestNamespace.Inbound; layer: FlexLayer; prompts: Prompts; isCfProject?: boolean; } /** * Options required to invoke the deploy-config subgenerator. */ interface DeployGenOptions { projectName: string; projectPath: string; connectedSystem: string; system?: Endpoint; projectType?: AdaptationProjectType; } /** * Composes the FLP config sub-generator using `composeWith`. This generator is used to scaffold * the FLP (Fiori Launchpad) configuration for the project. * * @param {FlpGenProps} options - Configuration object for the FLP generator. * @param {string} options.projectRootPath - Full path to the root of the project. * @param {string} options.system - System identifier string. * @param {Generator['composeWith']} composeWith - `composeWith` method provided by Yeoman Generator instance. * @param {ToolsLogger} logger - Logger instance for tracking operations and errors. * @param {AppWizard} appWizard - AppWizard instance for interacting with the UI (optional). */ export declare function addFlpGen({ projectRootPath, vscode, inbounds, layer, prompts, isCfProject }: FlpGenProps, composeWith: Generator['composeWith'], logger: ToolsLogger, appWizard: AppWizard): Promise; /** * Composes the Fiori deploy-config sub-generator using `composeWith`. This sub-generator configures * deployment for Fiori applications, such as to ABAP or Cloud Foundry environments. * * @param {DeployGenOptions} options - Deployment generator input options * @param {string} options.projectName - Project name * @param {string} options.targetFolder - Folder where project will be generated * @param {string} options.connectedSystem - Connected system data * @param {Endpoint} options.system - (Optional) System endpoint with connection details * @param {Generator['composeWith']} composeWith - Yeoman composeWith method from generator context * @param {ToolsLogger} logger - Logger for info and error output * @param {AppWizard} appWizard - Optional AppWizard instance for displaying UI messages */ export declare function addDeployGen({ projectName, projectPath, connectedSystem, system, projectType }: DeployGenOptions, composeWith: Generator['composeWith'], logger: ToolsLogger, appWizard: AppWizard): Promise; /** * Composes the extension project sub-generator if the base app is unsupported. * * @param {ExtProjectGenProps} options - Required options for composing the generator. * @param {ConfigAnswers} options.configAnswers - The collected config prompt answers. * @param {AttributesAnswers} options.attributeAnswers - The collected attribute prompt answers. * @param {SystemLookup} options.systemLookup - Instance of the system lookup. * @param {Generator['composeWith']} composeWith - `composeWith` method provided by Yeoman Generator instance. * @param {ToolsLogger} logger - Logger instance for tracking operations and errors. * @param {AppWizard} appWizard - AppWizard instance for interacting with the UI (optional). */ export declare function addExtProjectGen({ configAnswers, attributeAnswers, systemLookup }: ExtProjectGenProps, composeWith: Generator['composeWith'], logger: ToolsLogger, appWizard?: AppWizard): Promise; export {}; //# sourceMappingURL=subgenHelpers.d.ts.map