import type { ComposeOptions } from 'yeoman-generator';
import CoreGenerator from '../base-core/index.js';
import type { TaskTypes as BaseTaskTypes, GenericTaskGroup } from '../../lib/types/base/tasks.js';
import type { JHipsterGeneratorFeatures, JHipsterGeneratorOptions } from './api.js';
export default class JHipsterBaseBlueprintGenerator<TaskTypes extends BaseTaskTypes = BaseTaskTypes> extends CoreGenerator {
    fromBlueprint: boolean;
    sbsBlueprint?: boolean;
    delegateToBlueprint?: boolean;
    blueprintConfig?: Record<string, any>;
    jhipsterContext?: any;
    constructor(args: string | string[], options: JHipsterGeneratorOptions, features: JHipsterGeneratorFeatures);
    delegateTasksToBlueprint<TaskGroupType>(tasksGetter: () => TaskGroupType): TaskGroupType;
    asAnyTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, any, K>): GenericTaskGroup<any, any, K>;
    get initializing(): GenericTaskGroup<any, TaskTypes["InitializingTaskParam"], never>;
    _initializing(): {};
    asInitializingTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['InitializingTaskParam'], K>): GenericTaskGroup<any, TaskTypes['InitializingTaskParam'], K>;
    get prompting(): {};
    _prompting(): {};
    asPromptingTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['PromptingTaskParam'], K>): GenericTaskGroup<any, TaskTypes['PromptingTaskParam'], K>;
    get configuring(): {};
    _configuring(): {};
    asConfiguringTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['ConfiguringTaskParam'], K>): GenericTaskGroup<any, TaskTypes['ConfiguringTaskParam'], K>;
    get composing(): {};
    _composing(): {};
    asComposingTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['ComposingTaskParam'], K>): GenericTaskGroup<any, TaskTypes['ComposingTaskParam'], K>;
    get composingComponent(): any;
    asComposingComponentTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['ComposingTaskParam'], K>): GenericTaskGroup<any, TaskTypes['ComposingTaskParam'], K>;
    get loading(): any;
    _loading(): {};
    asLoadingTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['LoadingTaskParam'], K>): GenericTaskGroup<any, TaskTypes['LoadingTaskParam'], K>;
    get preparing(): {};
    _preparing(): {};
    asPreparingTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['PreparingTaskParam'], K>): GenericTaskGroup<any, TaskTypes['PreparingTaskParam'], K>;
    get postPreparing(): {};
    asPostPreparingTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['PostPreparingTaskParam'], K>): GenericTaskGroup<any, TaskTypes['PostPreparingTaskParam'], K>;
    get default(): {};
    _default(): {};
    asDefaultTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['DefaultTaskParam'], K>): GenericTaskGroup<any, TaskTypes['DefaultTaskParam'], K>;
    get writing(): {};
    _writing(): {};
    asWritingTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['WritingTaskParam'], K>): GenericTaskGroup<any, TaskTypes['WritingTaskParam'], K>;
    get postWriting(): {};
    _postWriting(): {};
    asPostWritingTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['PostWritingTaskParam'], K>): GenericTaskGroup<any, TaskTypes['PostWritingTaskParam'], K>;
    get install(): {};
    _install(): {};
    asInstallTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['InstallTaskParam'], K>): GenericTaskGroup<any, TaskTypes['InstallTaskParam'], K>;
    get postInstall(): {};
    _postInstall(): {};
    asPostInstallTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['PostInstallTaskParam'], K>): GenericTaskGroup<any, TaskTypes['PostInstallTaskParam'], K>;
    get end(): {};
    _end(): {};
    asEndTaskGroup<const K extends string>(taskGroup: GenericTaskGroup<this, TaskTypes['EndTaskParam'], K>): GenericTaskGroup<any, TaskTypes['EndTaskParam'], K>;
    protected composeWithBlueprints(subGen?: string, options?: ComposeOptions): Promise<any[]>;
    private checkBlueprintImplementsPriorities;
    private _configureBlueprints;
    private _composeBlueprint;
    private _findBlueprintPackageJson;
    private _findBlueprintVersion;
    protected _checkBlueprint(blueprint: any): void;
    protected _checkJHipsterBlueprintVersion(blueprintPkgName: any): void;
}
