import type { ToolsLogger } from '@sap-ux/logger'; import type { CfConfig, SystemLookup } from '@sap-ux/adp-tooling'; interface JsonInputParams { projectName: string; targetFolder: string; namespace: string; system: string; } interface ValidateExtensibilityExtParams { value: boolean; isApplicationSupported: boolean; hasSyncViews: boolean; isExtensibilityExtInstalled: boolean; } /** * Validates whether the extensibility extension is available. If the extension is not found, * an error message is returned advising on the necessary action. * * @param {ValidateExtensibilityExtParams} params - The validation parameters. * @param {boolean} params.value - A confirm flag indicating whether user wants to continue creating an extension project. * @param {boolean} params.isApplicationSupported - Whether the selected application is supported. * @param {boolean} params.hasSyncViews - Whether synchronized views exist for the app. * @param {boolean} params.isExtensibilityExtInstalled - Whether the extensibility extension is installed. * @returns {boolean | string} Returns true if app is supported and contains sync views, or an error message if not. */ export declare function validateExtensibilityExtension({ value, isApplicationSupported, hasSyncViews, isExtensibilityExtInstalled }: ValidateExtensibilityExtParams): boolean | string; /** * Validates the input parameters for an adaptation project configuration. * * @param {SystemLookup} systemLookup - The system lookup utility to resolve system names. * @param {boolean} isCustomerBase - Indicates if the project is for the customer base layer. * @param {JsonInputParams} params - The input parameters to validate. * @param {string} params.projectName - The name of the project to validate. * @param {string} params.targetFolder - The target folder where the project will be created. * @param {string} params.namespace - The namespace of the project to validate. * @param {string} params.system - The name of the system to validate. * @throws {Error} Throws an error if any of the validations fail: * - If the project name is invalid. * - If the namespace is invalid. * - If the system cannot be resolved. * @returns {Promise} Resolves if all validations pass, otherwise throws an error. */ export declare function validateJsonInput(systemLookup: SystemLookup, isCustomerBase: boolean, { projectName, targetFolder, namespace, system }: JsonInputParams): Promise; /** * Validates the environment. * * @param {string} value - The value to validate. * @param {boolean} isCFLoggedIn - Whether Cloud Foundry is logged in. * @param {CfConfig} cfConfig - The CF configuration. * @returns {Promise} Returns true if the environment is valid, otherwise returns an error message. */ export declare function validateEnvironment(value: string, isCFLoggedIn: boolean, cfConfig?: CfConfig): Promise; /** * Validates the project path. * * @param {string} projectPath - The path to the project. * @param {ToolsLogger} logger - The logger. * @returns {Promise} Returns true if the project path is valid, otherwise returns an error message. */ export declare function validateProjectPath(projectPath: string, logger: ToolsLogger): Promise; /** * Validate business solution name. * * @param {string} value - Value to validate. * @returns {string | boolean} Validation result. */ export declare function validateBusinessSolutionName(value: string): string | boolean; export {}; //# sourceMappingURL=validators.d.ts.map