import BaseApplicationGenerator from '../../index.ts';
import type { Application as BaseApplicationApplication, Entity as BaseApplicationEntity } from '../../types.ts';
export default class BootstrapBaseApplicationGenerator extends BaseApplicationGenerator<BaseApplicationEntity, BaseApplicationApplication<BaseApplicationEntity>> {
    [BaseApplicationGenerator.INITIALIZING]: Record<"displayLogo", import("../../../base-core/types.js").GenericTask<any, import("../../../base/tasks.js").TaskParamWithControl>>;
    [BaseApplicationGenerator.LOADING]: Record<"loadConfig", import("../../../base-core/types.js").GenericTask<any, import("../../../base/tasks.js").TaskParamWithControl & {
        application: BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>;
    } & import("../../../base-simple-application/tasks.js").ApplicationDefaultsTaskParam<BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>>>>;
    [BaseApplicationGenerator.PREPARING]: Record<"loadApplicationKeysForEjs" | "loadApplication", import("../../../base-core/types.js").GenericTask<any, import("../../../base/tasks.js").TaskParamWithControl & {
        source: import("../../index.ts").Source;
    } & {
        application: BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>;
    } & import("../../../base-simple-application/tasks.js").ApplicationDefaultsTaskParam<BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>>>>;
    [BaseApplicationGenerator.CONFIGURING_EACH_ENTITY]: Record<"configureEntity" | "configureRelationships", import("../../../base-core/types.js").GenericTask<any, import("../../tasks.js").ConfiguringEachEntityTaskParam<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>, BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>>>>;
    [BaseApplicationGenerator.LOADING_ENTITIES]: Record<"loadUser" | "loadUserManagement" | "loadAuthority" | "loadingEntities", import("../../../base-core/types.js").GenericTask<any, import("../../tasks.js").LoadingEntitiesTaskParam<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>, BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>>>>;
    [BaseApplicationGenerator.PREPARING_EACH_ENTITY]: Record<"preparingEachEntity" | "preparePrimaryKey", import("../../../base-core/types.js").GenericTask<any, import("../../tasks.js").PreparingEachEntityTaskParam<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>, BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>>>>;
    [BaseApplicationGenerator.PREPARING_EACH_ENTITY_FIELD]: Record<"prepareFieldsForTemplates", import("../../../base-core/types.js").GenericTask<any, import("../../tasks.js").PreparingEachEntityFieldTaskParam<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>, BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>>>>;
    [BaseApplicationGenerator.PREPARING_EACH_ENTITY_RELATIONSHIP]: Record<"prepareRelationshipsForTemplates", import("../../../base-core/types.js").GenericTask<any, import("../../tasks.js").PreparingEachEntityRelationshipTaskParam<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>, BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>>>>;
    [BaseApplicationGenerator.POST_PREPARING_EACH_ENTITY]: Record<"hasRequiredRelationship" | "checkForCircularRelationships" | "processEntityPrimaryKeysDerivedProperties" | "processDerivedPrimaryKeyFields" | "prepareEntityDerivedProperties", import("../../../base-core/types.js").GenericTask<any, import("../../tasks.js").PreparingEachEntityTaskParam<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>, BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>>>>;
    [BaseApplicationGenerator.DEFAULT]: Record<"task" | "checkProperties", import("../../../base-core/types.js").GenericTask<any, import("../../../base/tasks.js").TaskParamWithControl & {
        application: BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>;
    } & {
        entities: BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>[];
    }>>;
    beforeQueue(): Promise<void>;
    get initializing(): Record<"displayLogo", import("../../../base-core/types.js").GenericTask<any, import("../../../base/tasks.js").TaskParamWithControl>>;
    get loading(): Record<"loadConfig", import("../../../base-core/types.js").GenericTask<any, import("../../../base/tasks.js").TaskParamWithControl & {
        application: BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>;
    } & import("../../../base-simple-application/tasks.js").ApplicationDefaultsTaskParam<BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>>>>;
    get preparing(): Record<"loadApplicationKeysForEjs" | "loadApplication", import("../../../base-core/types.js").GenericTask<any, import("../../../base/tasks.js").TaskParamWithControl & {
        source: import("../../index.ts").Source;
    } & {
        application: BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>;
    } & import("../../../base-simple-application/tasks.js").ApplicationDefaultsTaskParam<BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>>>>;
    get configuringEachEntity(): Record<"configureEntity" | "configureRelationships", import("../../../base-core/types.js").GenericTask<any, import("../../tasks.js").ConfiguringEachEntityTaskParam<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>, BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>>>>;
    get loadingEntities(): Record<"loadUser" | "loadUserManagement" | "loadAuthority" | "loadingEntities", import("../../../base-core/types.js").GenericTask<any, import("../../tasks.js").LoadingEntitiesTaskParam<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>, BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>>>>;
    get preparingEachEntity(): Record<"preparingEachEntity" | "preparePrimaryKey", import("../../../base-core/types.js").GenericTask<any, import("../../tasks.js").PreparingEachEntityTaskParam<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>, BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>>>>;
    get preparingEachEntityField(): Record<"prepareFieldsForTemplates", import("../../../base-core/types.js").GenericTask<any, import("../../tasks.js").PreparingEachEntityFieldTaskParam<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>, BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>>>>;
    get preparingEachEntityRelationship(): Record<"prepareRelationshipsForTemplates", import("../../../base-core/types.js").GenericTask<any, import("../../tasks.js").PreparingEachEntityRelationshipTaskParam<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>, BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>>>>;
    get postPreparingEachEntity(): Record<"hasRequiredRelationship" | "checkForCircularRelationships" | "processEntityPrimaryKeysDerivedProperties" | "processDerivedPrimaryKeyFields" | "prepareEntityDerivedProperties", import("../../../base-core/types.js").GenericTask<any, import("../../tasks.js").PreparingEachEntityTaskParam<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>, BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>>>>;
    get default(): Record<"task" | "checkProperties", import("../../../base-core/types.js").GenericTask<any, import("../../../base/tasks.js").TaskParamWithControl & {
        application: BaseApplicationApplication<BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>>;
    } & {
        entities: BaseApplicationEntity<import("../../entity.ts").Field, import("../../entity.ts").Relationship>[];
    }>>;
    /**
     * Return the user home
     */
    getUserHome(): string | undefined;
    printDestinationInfo(cwd?: string): void;
}
