import type { ComposeOptions, Storage } from 'yeoman-generator';
import BaseGenerator from '../base/index.js';
import type { JHipsterGeneratorFeatures, JHipsterGeneratorOptions } from '../base/api.js';
import type { ConfiguringEachEntityTaskParam, TaskTypes as DefaultTaskTypes, EntityToLoad, LoadingEntitiesTaskParam, PostWritingEntitiesTaskParam, PreparingEachEntityFieldTaskParam, PreparingEachEntityRelationshipTaskParam, PreparingEachEntityTaskParam, PreparingTaskParam, TaskParamWithApplication, TaskParamWithEntities } from '../../lib/types/application/tasks.js';
import type { Entity } from '../../lib/types/application/entity.js';
import type { GenericTaskGroup } from '../../lib/types/base/tasks.js';
import type { ApplicationConfiguration } from '../../lib/types/application/yo-rc.js';
import type SharedData from '../base/shared-data.js';
/**
 * This is the base class for a generator that generates entities.
 */
export default class BaseApplicationGenerator<TaskTypes extends DefaultTaskTypes<any, any> = DefaultTaskTypes> extends BaseGenerator<TaskTypes> {
    static CONFIGURING_EACH_ENTITY: string;
    static LOADING_ENTITIES: string;
    static PREPARING_EACH_ENTITY: string;
    static PREPARING_EACH_ENTITY_FIELD: string;
    static PREPARING_EACH_ENTITY_RELATIONSHIP: string;
    static POST_PREPARING_EACH_ENTITY: string;
    static WRITING_ENTITIES: string;
    static POST_WRITING_ENTITIES: string;
    jhipsterConfig: ApplicationConfiguration & Record<string, any>;
    sharedData: SharedData;
    constructor(args: string | string[], options: JHipsterGeneratorOptions, features: JHipsterGeneratorFeatures);
    dependsOnBootstrapApplication(options?: ComposeOptions | undefined): Promise<BaseApplicationGenerator<{
        InitializingTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl;
        PromptingTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl;
        ConfiguringTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl;
        ComposingTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl;
        LoadingTaskParam: import("../../lib/types/application/tasks.js").TaskParamWithApplicationDefaults<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreparingTaskParam: PreparingTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        ConfiguringEachEntityTaskParam: ConfiguringEachEntityTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        LoadingEntitiesTaskParam: LoadingEntitiesTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreparingEachEntityTaskParam: PreparingEachEntityTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreparingEachEntityFieldTaskParam: PreparingEachEntityFieldTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreparingEachEntityRelationshipTaskParam: PreparingEachEntityRelationshipTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostPreparingEachEntityTaskParam: PreparingEachEntityTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostPreparingTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl & {
            source: import("../../lib/types/application/application.js").BaseApplicationSource;
        } & {
            application: import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>;
        };
        DefaultTaskParam: TaskParamWithEntities<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        WritingTaskParam: import("../../lib/types/application/tasks.js").WritingTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        WritingEntitiesTaskParam: TaskParamWithEntities<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostWritingTaskParam: import("../../lib/types/application/tasks.js").PostWritingTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostWritingEntitiesTaskParam: PostWritingEntitiesTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreConflictsTaskParam: TaskParamWithApplication<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        InstallTaskParam: TaskParamWithApplication<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostInstallTaskParam: TaskParamWithApplication<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        EndTaskParam: TaskParamWithApplication<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
    }>[]>;
    dependsOnBootstrapApplicationBase(options?: ComposeOptions | undefined): Promise<BaseApplicationGenerator<{
        InitializingTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl;
        PromptingTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl;
        ConfiguringTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl;
        ComposingTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl;
        LoadingTaskParam: import("../../lib/types/application/tasks.js").TaskParamWithApplicationDefaults<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreparingTaskParam: PreparingTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        ConfiguringEachEntityTaskParam: ConfiguringEachEntityTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        LoadingEntitiesTaskParam: LoadingEntitiesTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreparingEachEntityTaskParam: PreparingEachEntityTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreparingEachEntityFieldTaskParam: PreparingEachEntityFieldTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreparingEachEntityRelationshipTaskParam: PreparingEachEntityRelationshipTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostPreparingEachEntityTaskParam: PreparingEachEntityTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostPreparingTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl & {
            source: import("../../lib/types/application/application.js").BaseApplicationSource;
        } & {
            application: import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>;
        };
        DefaultTaskParam: TaskParamWithEntities<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        WritingTaskParam: import("../../lib/types/application/tasks.js").WritingTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        WritingEntitiesTaskParam: TaskParamWithEntities<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostWritingTaskParam: import("../../lib/types/application/tasks.js").PostWritingTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostWritingEntitiesTaskParam: PostWritingEntitiesTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreConflictsTaskParam: TaskParamWithApplication<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        InstallTaskParam: TaskParamWithApplication<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostInstallTaskParam: TaskParamWithApplication<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        EndTaskParam: TaskParamWithApplication<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
    }>[]>;
    dependsOnBootstrapApplicationServer(options?: ComposeOptions | undefined): Promise<BaseApplicationGenerator<{
        InitializingTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl;
        PromptingTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl;
        ConfiguringTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl;
        ComposingTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl;
        LoadingTaskParam: import("../../lib/types/application/tasks.js").TaskParamWithApplicationDefaults<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreparingTaskParam: PreparingTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        ConfiguringEachEntityTaskParam: ConfiguringEachEntityTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        LoadingEntitiesTaskParam: LoadingEntitiesTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreparingEachEntityTaskParam: PreparingEachEntityTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreparingEachEntityFieldTaskParam: PreparingEachEntityFieldTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreparingEachEntityRelationshipTaskParam: PreparingEachEntityRelationshipTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostPreparingEachEntityTaskParam: PreparingEachEntityTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostPreparingTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl & {
            source: import("../../lib/types/application/application.js").BaseApplicationSource;
        } & {
            application: import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>;
        };
        DefaultTaskParam: TaskParamWithEntities<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        WritingTaskParam: import("../../lib/types/application/tasks.js").WritingTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        WritingEntitiesTaskParam: TaskParamWithEntities<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostWritingTaskParam: import("../../lib/types/application/tasks.js").PostWritingTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostWritingEntitiesTaskParam: PostWritingEntitiesTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreConflictsTaskParam: TaskParamWithApplication<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        InstallTaskParam: TaskParamWithApplication<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostInstallTaskParam: TaskParamWithApplication<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        EndTaskParam: TaskParamWithApplication<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
    }>[]>;
    dependsOnBootstrapApplicationClient(options?: ComposeOptions | undefined): Promise<BaseApplicationGenerator<{
        InitializingTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl;
        PromptingTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl;
        ConfiguringTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl;
        ComposingTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl;
        LoadingTaskParam: import("../../lib/types/application/tasks.js").TaskParamWithApplicationDefaults<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreparingTaskParam: PreparingTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        ConfiguringEachEntityTaskParam: ConfiguringEachEntityTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        LoadingEntitiesTaskParam: LoadingEntitiesTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreparingEachEntityTaskParam: PreparingEachEntityTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreparingEachEntityFieldTaskParam: PreparingEachEntityFieldTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreparingEachEntityRelationshipTaskParam: PreparingEachEntityRelationshipTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostPreparingEachEntityTaskParam: PreparingEachEntityTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostPreparingTaskParam: import("../../lib/types/base/tasks.js").TaskParamWithControl & {
            source: import("../../lib/types/application/application.js").BaseApplicationSource;
        } & {
            application: import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>;
        };
        DefaultTaskParam: TaskParamWithEntities<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        WritingTaskParam: import("../../lib/types/application/tasks.js").WritingTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        WritingEntitiesTaskParam: TaskParamWithEntities<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostWritingTaskParam: import("../../lib/types/application/tasks.js").PostWritingTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostWritingEntitiesTaskParam: PostWritingEntitiesTaskParam<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PreConflictsTaskParam: TaskParamWithApplication<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        InstallTaskParam: TaskParamWithApplication<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        PostInstallTaskParam: TaskParamWithApplication<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
        EndTaskParam: TaskParamWithApplication<Entity<import("./index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<Entity<import("./index.js").Field, never>>>;
    }>[]>;
    /**
     * Get Entities configuration path
     * @returns
     */
    getEntitiesConfigPath(...args: any[]): string;
    /**
     * Get Entity configuration path
     * @param entityName Entity name
     * @returns
     */
    getEntityConfigPath(entityName: string): string;
    /**
     * Get all the generator configuration from the .yo-rc.json file
     * @param entityName - Name of the entity to load.
     * @param create - Create storage if doesn't exists.
     */
    getEntityConfig(entityName: string, create?: boolean): Storage | undefined;
    /**
     * get sorted list of entity names according to changelog date (i.e. the order in which they were added)
     */
    getExistingEntityNames(): string[];
    /**
     * get sorted list of entities according to changelog date (i.e. the order in which they were added)
     */
    getExistingEntities(): {
        name: string;
        definition: Entity;
    }[];
    /**
     * Priority API stub for blueprints.
     *
     * Configuring each entity should configure entities.
     */
    get configuringEachEntity(): {};
    get preparingEachEntity(): {};
    /**
     * Priority API stub for blueprints.
     */
    get preparingEachEntityField(): {};
    /**
     * Priority API stub for blueprints.
     */
    get preparingEachEntityRelationship(): {};
    /**
     * Priority API stub for blueprints.
     */
    get postPreparingEachEntity(): {};
    /**
     * Priority API stub for blueprints.
     */
    get writingEntities(): {};
    /**
     * Priority API stub for blueprints.
     */
    get postWritingEntities(): {};
    /**
     * Utility method to get typed objects for autocomplete.
     */
    asConfiguringEachEntityTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['ConfiguringEachEntityTaskParam'], K>): GenericTaskGroup<any, TaskTypes['ConfiguringEachEntityTaskParam'], K>;
    /**
     * Utility method to get typed objects for autocomplete.
     */
    asLoadingEntitiesTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['LoadingEntitiesTaskParam'], K>): GenericTaskGroup<any, TaskTypes['LoadingEntitiesTaskParam'], K>;
    /**
     * Utility method to get typed objects for autocomplete.
     */
    asPreparingEachEntityTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['PreparingEachEntityTaskParam'], K>): GenericTaskGroup<any, TaskTypes['PreparingEachEntityTaskParam'], K>;
    /**
     * Utility method to get typed objects for autocomplete.
     */
    asPreparingEachEntityFieldTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['PreparingEachEntityFieldTaskParam'], K>): GenericTaskGroup<any, TaskTypes['PreparingEachEntityFieldTaskParam'], K>;
    /**
     * Utility method to get typed objects for autocomplete.
     */
    asPreparingEachEntityRelationshipTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['PreparingEachEntityRelationshipTaskParam'], K>): GenericTaskGroup<any, TaskTypes['PreparingEachEntityRelationshipTaskParam'], K>;
    /**
     * Utility method to get typed objects for autocomplete.
     */
    asPostPreparingEachEntityTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['PostPreparingEachEntityTaskParam'], K>): GenericTaskGroup<any, TaskTypes['PostPreparingEachEntityTaskParam'], K>;
    /**
     * Utility method to get typed objects for autocomplete.
     */
    asWritingEntitiesTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['WritingEntitiesTaskParam'], K>): GenericTaskGroup<any, TaskTypes['WritingEntitiesTaskParam'], K>;
    /**
     * Utility method to get typed objects for autocomplete.
     */
    asPostWritingEntitiesTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['PostWritingEntitiesTaskParam'], K>): GenericTaskGroup<any, TaskTypes['PostWritingEntitiesTaskParam'], K>;
    /**
     * Reset entities fake data seed.
     * @param {string} seed
     */
    resetEntitiesFakeData(seed: string | undefined): void;
    getArgsForPriority(priorityName: string): TaskParamWithApplication[];
    /**
     * @protected
     */
    protected getTaskFirstArgForPriority(priorityName: string): TaskParamWithApplication;
    /**
     * @private
     * Get entities to configure.
     * This method doesn't filter entities. An filtered config can be changed at this priority.
     * @returns {string[]}
     */
    getEntitiesDataToConfigure(): ConfiguringEachEntityTaskParam[];
    /**
     * @private
     * Get entities to load.
     * This method doesn't filter entities. An filtered config can be changed at this priority.
     * @returns {string[]}
     */
    getEntitiesDataToLoad(): EntityToLoad[];
    /**
     * @private
     * Get entities to prepare.
     * @returns {object[]}
     */
    getEntitiesDataToPrepare(): Pick<PreparingEachEntityTaskParam, 'entity' | 'entityName' | 'description'>[];
    /**
     * @private
     * Get entities and fields to prepare.
     * @returns {object[]}
     */
    getEntitiesFieldsDataToPrepare(): Pick<PreparingEachEntityFieldTaskParam, 'entity' | 'entityName' | 'field' | 'fieldName' | 'description'>[];
    /**
     * @private
     * Get entities and relationships to prepare.
     * @returns {object[]}
     */
    getEntitiesRelationshipsDataToPrepare(): Pick<PreparingEachEntityRelationshipTaskParam, 'entity' | 'entityName' | 'relationship' | 'relationshipName' | 'description'>[];
    /**
     * @private
     * Get entities to post prepare.
     * @returns {object[]}
     */
    getEntitiesDataToPostPrepare(): Pick<PreparingEachEntityTaskParam, "description" | "entity" | "entityName">[];
    /**
     * @private
     * Get entities to write.
     * @returns {object[]}
     */
    getEntitiesDataForPriorities(): {
        entities: Entity<import("./index.js").Field, never>[];
    };
    /**
     * @private
     * Get entities to write.
     * @returns {object[]}
     */
    getEntitiesDataToWrite(): {
        entities: Entity<import("./index.js").Field, never>[];
    };
    /**
     * @private
     * Queue entity tasks.
     */
    queueEntityTasks(): void;
}
