/**
 * Copyright 2013-2026 the original author or authors from the JHipster project.
 *
 * This file is part of the JHipster project, see https://www.jhipster.tech/
 * for more information.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import type { ValueOf } from 'type-fest';
export declare const DeploymentTypes: {
    readonly exists: (deploymentType?: string) => boolean;
    readonly DOCKERCOMPOSE: string;
    readonly KUBERNETES: string;
};
declare const Options: {
    readonly defaults: (deploymentType?: ValueOf<typeof DeploymentTypes>) => {
        appsFolders: string[];
        directoryPath: "../";
        clusteredDbApps: string[];
        serviceDiscoveryType: "consul";
        dockerRepositoryName: "";
        dockerPushCommand: "docker push";
        kubernetesNamespace: "default";
        kubernetesServiceType: string;
        kubernetesUseDynamicStorage: false;
        kubernetesStorageClassName: "";
        ingressDomain: "";
        monitoring: string;
        istio: false;
        ingressType: string;
        gatewayType?: undefined;
        apisixGateway?: undefined;
    } | {
        appsFolders: never[];
        directoryPath: "../";
        gatewayType: "SpringCloudGateway";
        apisixGateway: false;
        clusteredDbApps: never[];
        monitoring: string;
        serviceDiscoveryType: "consul";
        dockerRepositoryName?: undefined;
        dockerPushCommand?: undefined;
        kubernetesNamespace?: undefined;
        kubernetesServiceType?: undefined;
        kubernetesUseDynamicStorage?: undefined;
        kubernetesStorageClassName?: undefined;
        ingressDomain?: undefined;
        istio?: undefined;
        ingressType?: undefined;
    } | {
        appsFolders: never[];
        directoryPath: string;
        clusteredDbApps?: undefined;
        serviceDiscoveryType?: undefined;
        dockerRepositoryName?: undefined;
        dockerPushCommand?: undefined;
        kubernetesNamespace?: undefined;
        kubernetesServiceType?: undefined;
        kubernetesUseDynamicStorage?: undefined;
        kubernetesStorageClassName?: undefined;
        ingressDomain?: undefined;
        monitoring?: undefined;
        istio?: undefined;
        ingressType?: undefined;
        gatewayType?: undefined;
        apisixGateway?: undefined;
    };
    readonly kubernetesNamespace: "default";
    readonly kubernetesStorageClassName: "";
    readonly kubernetesServiceType: {
        readonly loadBalancer: string;
        readonly nodePort: string;
        readonly ingress: string;
    };
    readonly kubernetesUseDynamicStorage: {
        readonly false: false;
        readonly true: true;
    };
    readonly ingressDomain: "";
    readonly ingressType: {
        readonly nginx: string;
        readonly gke: string;
    };
    readonly istio: {
        readonly false: false;
        readonly true: true;
    };
    readonly gatewayType: {
        readonly springCloudGateway: "SpringCloudGateway";
    };
    /** Use APISIX as API Gateway (VHipster) */
    readonly apisixGateway: {
        readonly false: false;
        readonly true: true;
    };
    readonly dockerPushCommand: "docker push";
    readonly dockerRepositoryName: "";
    readonly deploymentType: {
        readonly dockerCompose: string;
        readonly kubernetes: string;
    };
    readonly appsFolders: readonly [];
    readonly clusteredDbApps: readonly [];
    readonly directoryPath: "../";
    readonly monitoring: {
        readonly no: string;
        readonly prometheus: string;
    };
    readonly serviceDiscoveryType: {
        readonly eureka: "eureka";
        readonly consul: "consul";
        readonly no: "no";
    };
};
export { Options };
declare const _default: {
    Options: {
        readonly defaults: (deploymentType?: ValueOf<typeof DeploymentTypes>) => {
            appsFolders: string[];
            directoryPath: "../";
            clusteredDbApps: string[];
            serviceDiscoveryType: "consul";
            dockerRepositoryName: "";
            dockerPushCommand: "docker push";
            kubernetesNamespace: "default";
            kubernetesServiceType: string;
            kubernetesUseDynamicStorage: false;
            kubernetesStorageClassName: "";
            ingressDomain: "";
            monitoring: string;
            istio: false;
            ingressType: string;
            gatewayType?: undefined;
            apisixGateway?: undefined;
        } | {
            appsFolders: never[];
            directoryPath: "../";
            gatewayType: "SpringCloudGateway";
            apisixGateway: false;
            clusteredDbApps: never[];
            monitoring: string;
            serviceDiscoveryType: "consul";
            dockerRepositoryName?: undefined;
            dockerPushCommand?: undefined;
            kubernetesNamespace?: undefined;
            kubernetesServiceType?: undefined;
            kubernetesUseDynamicStorage?: undefined;
            kubernetesStorageClassName?: undefined;
            ingressDomain?: undefined;
            istio?: undefined;
            ingressType?: undefined;
        } | {
            appsFolders: never[];
            directoryPath: string;
            clusteredDbApps?: undefined;
            serviceDiscoveryType?: undefined;
            dockerRepositoryName?: undefined;
            dockerPushCommand?: undefined;
            kubernetesNamespace?: undefined;
            kubernetesServiceType?: undefined;
            kubernetesUseDynamicStorage?: undefined;
            kubernetesStorageClassName?: undefined;
            ingressDomain?: undefined;
            monitoring?: undefined;
            istio?: undefined;
            ingressType?: undefined;
            gatewayType?: undefined;
            apisixGateway?: undefined;
        };
        readonly kubernetesNamespace: "default";
        readonly kubernetesStorageClassName: "";
        readonly kubernetesServiceType: {
            readonly loadBalancer: string;
            readonly nodePort: string;
            readonly ingress: string;
        };
        readonly kubernetesUseDynamicStorage: {
            readonly false: false;
            readonly true: true;
        };
        readonly ingressDomain: "";
        readonly ingressType: {
            readonly nginx: string;
            readonly gke: string;
        };
        readonly istio: {
            readonly false: false;
            readonly true: true;
        };
        readonly gatewayType: {
            readonly springCloudGateway: "SpringCloudGateway";
        };
        /** Use APISIX as API Gateway (VHipster) */
        readonly apisixGateway: {
            readonly false: false;
            readonly true: true;
        };
        readonly dockerPushCommand: "docker push";
        readonly dockerRepositoryName: "";
        readonly deploymentType: {
            readonly dockerCompose: string;
            readonly kubernetes: string;
        };
        readonly appsFolders: readonly [];
        readonly clusteredDbApps: readonly [];
        readonly directoryPath: "../";
        readonly monitoring: {
            readonly no: string;
            readonly prometheus: string;
        };
        readonly serviceDiscoveryType: {
            readonly eureka: "eureka";
            readonly consul: "consul";
            readonly no: "no";
        };
    };
    DeploymentTypes: {
        readonly exists: (deploymentType?: string) => boolean;
        readonly DOCKERCOMPOSE: string;
        readonly KUBERNETES: string;
    };
};
export default _default;
