import type { MittwaldAPIV2 } from "@mittwald/api-client"; import { MittwaldAPIV2Client } from "@mittwald/api-client"; import { ProcessRenderer } from "../../rendering/process/process.js"; type AppInstallation = MittwaldAPIV2.Components.Schemas.AppAppInstallation; /** * A list of all known DDEV project types. Shamelessly stolen from * https://ddev.readthedocs.io/en/latest/users/configuration/config/#type */ export declare const knownDDEVProjectTypes: readonly ["backdrop", "craftcms", "django4", "drupal6", "drupal7", "drupal", "laravel", "magento", "magento2", "php", "python", "shopware6", "silverstripe", "typo3", "wordpress"]; export type DDEVProjectType = (typeof knownDDEVProjectTypes)[number]; /** * Determines the DDEV project type to use for the given app installation. * * This is done according to the following rules: * * 1. If an explicit override was specified (typically using the --override-type * flag), use that. * 2. If the app installation is a known app type (e.g. TYPO3, WordPress, etc.), * use the corresponding DDEV project type. * 3. Prompt the user to interactively select a DDEV project type. */ export declare function determineProjectType(r: ProcessRenderer, client: MittwaldAPIV2Client, inst: AppInstallation, typeOverride: DDEVProjectType | "auto"): Promise; /** * Determines the project type to use for the given app installation. * * In most cases, this is a simple mapping from known app IDs to DDEV project * types. In some cases, we might need to know the specific (major) version of * an app to determine the correct project type (for example, DDEV has separate * project types for the different Drupal major versions). */ export declare function determineProjectTypeFromAppInstallation(client: MittwaldAPIV2Client, inst: AppInstallation): Promise; export {};