/**
 * 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 BaseGenerator from '../base/index.js';
import type { TaskTypes } from '../../lib/types/base/tasks.js';
import type { Entity } from '../../lib/types/application/entity.js';
import type { ApplicationType } from '../../lib/types/application/application.js';
type WorkspacesTypes<E extends Entity = Entity, A extends ApplicationType<E> = ApplicationType<E>> = TaskTypes & {
    LoadingTaskParam: TaskTypes['LoadingTaskParam'] & {
        applications: A[];
    };
    PreparingTaskParam: TaskTypes['PreparingTaskParam'] & {
        applications: A[];
    };
    PostPreparingTaskParam: TaskTypes['PostPreparingTaskParam'] & {
        applications: A[];
    };
    DefaultTaskParam: TaskTypes['DefaultTaskParam'] & {
        applications: A[];
    };
    WritingTaskParam: TaskTypes['WritingTaskParam'] & {
        applications: A[];
    };
    PostWritingTaskParam: TaskTypes['PostWritingTaskParam'] & {
        applications: A[];
    };
    InstallTaskParam: TaskTypes['InstallTaskParam'] & {
        applications: A[];
    };
    PostInstallTaskParam: TaskTypes['PostInstallTaskParam'] & {
        applications: A[];
    };
    EndTaskParam: TaskTypes['EndTaskParam'] & {
        applications: A[];
    };
};
/**
 * This is the base class for a generator that generates entities.
 */
export default abstract class BaseWorkspacesGenerator extends BaseGenerator<WorkspacesTypes> {
    static PROMPTING_WORKSPACES: string;
    static CONFIGURING_WORKSPACES: string;
    static LOADING_WORKSPACES: string;
    static PREPARING_WORKSPACES: string;
    appsFolders?: string[];
    directoryPath: string;
    constructor(args: any, options: any, features: any);
    protected loadWorkspacesConfig(opts?: any): void;
    protected configureWorkspacesConfig(): void;
    protected askForWorkspacesConfig(): Promise<void>;
    protected findApplicationFolders(directoryPath?: string): Promise<string[]>;
    private resolveApplicationFolders;
    bootstrapApplications(): Promise<void>;
    getArgsForPriority(priorityName: string): any;
}
export {};
