/**
 * Copyright 2013-2025 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 BaseWorkspacesGenerator from '../base-workspaces/index.js';
import { checkImages, configureImageNames, generateJwtSecret, loadFromYoRc } from '../base-workspaces/internal/docker-base.js';
/**
 * @class
 * @extends {BaseWorkspacesGenerator}
 */
export default class KubernetesKnativeGenerator extends BaseWorkspacesGenerator {
    [BaseWorkspacesGenerator.INITIALIZING]: import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "loadConfig" | "checkDocker" | "sayHello" | "loadDockerDependenciesTask" | "checkKubernetes" | "checkHelm" | "setupKubernetesConstants" | "setupHelmConstants" | "existingDeployment" | "checkKnative" | "localInit">;
    [BaseWorkspacesGenerator.PROMPTING]: {
        askForPath: () => Promise<void>;
        askForApps: () => Promise<void>;
        askForGeneratorType: () => Promise<void>;
        askForMonitoring: () => Promise<void>;
        askForClustersMode: () => Promise<void>;
        askForServiceDiscovery: () => Promise<void>;
        askForAdminPassword: () => Promise<void>;
        askForKubernetesNamespace: typeof import("../kubernetes/prompts.js").askForKubernetesNamespace;
        askForDockerRepositoryName: () => Promise<void>;
        askForDockerPushCommand: () => Promise<void>;
        askForIngressDomain: typeof import("../kubernetes/prompts.js").askForIngressDomain;
    };
    [BaseWorkspacesGenerator.CONFIGURING]: {
        generateJwtSecret: typeof generateJwtSecret;
    };
    [BaseWorkspacesGenerator.LOADING]: {
        loadFromYoRc: typeof loadFromYoRc;
        loadSharedConfig(): void;
    };
    [BaseWorkspacesGenerator.PREPARING]: {
        configureImageNames: typeof configureImageNames;
        setPostPromptProp(): void;
    };
    [BaseWorkspacesGenerator.WRITING]: {
        writeGeneratorFiles(): void;
    };
    [BaseWorkspacesGenerator.END]: {
        checkImages: typeof checkImages;
        deploy(): void;
    };
    beforeQueue(): Promise<void>;
    get initializing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "loadConfig" | "checkDocker" | "sayHello" | "loadDockerDependenciesTask" | "checkKubernetes" | "checkHelm" | "setupKubernetesConstants" | "setupHelmConstants" | "existingDeployment" | "checkKnative" | "localInit">;
    get prompting(): {
        askForPath: () => Promise<void>;
        askForApps: () => Promise<void>;
        askForGeneratorType: () => Promise<void>;
        askForMonitoring: () => Promise<void>;
        askForClustersMode: () => Promise<void>;
        askForServiceDiscovery: () => Promise<void>;
        askForAdminPassword: () => Promise<void>;
        askForKubernetesNamespace: typeof import("../kubernetes/prompts.js").askForKubernetesNamespace;
        askForDockerRepositoryName: () => Promise<void>;
        askForDockerPushCommand: () => Promise<void>;
        askForIngressDomain: typeof import("../kubernetes/prompts.js").askForIngressDomain;
    };
    get configuring(): {
        generateJwtSecret: typeof generateJwtSecret;
    };
    get loading(): {
        loadFromYoRc: typeof loadFromYoRc;
        loadSharedConfig(): void;
    };
    get preparing(): {
        configureImageNames: typeof configureImageNames;
        setPostPromptProp(): void;
    };
    get writing(): {
        writeGeneratorFiles(): void;
    };
    get end(): {
        checkImages: typeof checkImages;
        deploy(): void;
    };
    /**
     * @private
     * Returns the JDBC URL for a databaseType
     *
     * @param {string} databaseType
     * @param {*} options: databaseName, and required infos that depends of databaseType (hostname, localDirectory, ...)
     */
    getJDBCUrl(databaseType: any, options?: {}): string;
}
