import { AdpConfig, Project, AppdescrVariantManifest, FDCService, UI5Yaml, CustomMiddleware, FioriToolsPreview, FioriToolsProxy, UI5DeployYamlTask, GeneratorOpts, UI5DeployYamlApp } from "../models";
import { GeneratorTypes } from "../enums";
export default class Workspace {
    static project(projectPath: string): Project;
    static getProjectRequiresAuthentication(projectData: Project, fdcService: FDCService): Promise<boolean>;
    static setGeneratorHeaderTitle(opts: GeneratorOpts, path: string, type: GeneratorTypes): void;
    static isDeploymentAllowed(projectPath: string): boolean;
    static getManifestAppdescrFile(projectPath: string): AppdescrVariantManifest;
    static getAdpConfig(projectPath: string): AdpConfig;
    static getUI5Yaml(projectPath: string): UI5Yaml;
    static writeUI5Yaml(projectPath: string, data: UI5Yaml): void;
    static archive(basePath: string, archive: string): Promise<void>;
    static deleteFile(folder: string, file: string): void;
    static isCloudProject(projectPath: string): boolean;
    static hasDeployConfig(projectPath: string): boolean;
    private static getOldConfigBAS;
    private static checkUI5YamlExists;
    private static showErrorWithLink;
    private static getConfig;
    static validatePropertyExists(property: any, errMsg: string): void;
    static validateFileExists(filePath: string, fileName: string): void;
    static removeFlpConfig(projectPath: string): Promise<void>;
    static getCloudConfigs(ui5DeployYamlPath: string): UI5DeployYamlTask;
    static getDeployTaskApp(projectPath: string): Promise<UI5DeployYamlApp | undefined>;
    static updateYamlProperty(projectPath: string, propertyPath: string[], newValue: any): void;
    private static getMiddlewaresConfigurations;
    static isValidUI5Yaml(projectPath: string): boolean;
    private static assertProperties;
    static findMiddleware<T extends CustomMiddleware>(middlewareList: CustomMiddleware[], typeGuard: (middleware: CustomMiddleware) => middleware is T): T;
    static isFioriToolsPreview(middleware: CustomMiddleware): middleware is FioriToolsPreview;
    static isFioriToolsProxy(middleware: CustomMiddleware): middleware is FioriToolsProxy;
    static parseFile<Type>(projectPath: string, filePath: string): Type;
    private static propertiesExist;
    static checkConfigExists(projectPath: string): boolean;
}
