import type { ComposeOptions } from 'yeoman-generator';
import { BaseGeneratorDefinition, GenericTaskGroup } from './tasks.js';
import type { JHipsterGeneratorFeatures, JHipsterGeneratorOptions } from './api.js';
import CoreGenerator from '../base-core/index.js';
export default class JHipsterBaseBlueprintGenerator<Definition extends BaseGeneratorDefinition = BaseGeneratorDefinition> 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;
    get initializing(): GenericTaskGroup<this, Definition['initializingTaskParam']>;
    _initializing(): {};
    asInitializingTaskGroup(taskGroup: GenericTaskGroup<this, Definition['initializingTaskParam']>): GenericTaskGroup<this, Definition['initializingTaskParam']>;
    get prompting(): GenericTaskGroup<this, Definition['promptingTaskParam']>;
    _prompting(): {};
    asPromptingTaskGroup(taskGroup: GenericTaskGroup<this, Definition['promptingTaskParam']>): GenericTaskGroup<this, Definition['promptingTaskParam']>;
    get configuring(): GenericTaskGroup<this, Definition['configuringTaskParam']>;
    _configuring(): {};
    asConfiguringTaskGroup(taskGroup: GenericTaskGroup<this, Definition['configuringTaskParam']>): GenericTaskGroup<this, Definition['configuringTaskParam']>;
    get composing(): GenericTaskGroup<this, Definition['composingTaskParam']>;
    _composing(): {};
    asComposingTaskGroup(taskGroup: GenericTaskGroup<this, Definition['composingTaskParam']>): GenericTaskGroup<this, Definition['composingTaskParam']>;
    get composingComponent(): GenericTaskGroup<this, Definition['composingTaskParam']>;
    asComposingComponentTaskGroup(taskGroup: GenericTaskGroup<this, Definition['composingTaskParam']>): GenericTaskGroup<this, Definition['composingTaskParam']>;
    get loading(): GenericTaskGroup<this, Definition['loadingTaskParam']>;
    _loading(): {};
    asLoadingTaskGroup(taskGroup: GenericTaskGroup<this, Definition['loadingTaskParam']>): GenericTaskGroup<this, Definition['loadingTaskParam']>;
    get preparing(): GenericTaskGroup<this, Definition['preparingTaskParam']>;
    _preparing(): {};
    asPreparingTaskGroup(taskGroup: GenericTaskGroup<this, Definition['preparingTaskParam']>): GenericTaskGroup<this, Definition['preparingTaskParam']>;
    get postPreparing(): GenericTaskGroup<this, Definition['preparingTaskParam']>;
    asPostPreparingTaskGroup(taskGroup: GenericTaskGroup<this, Definition['postPreparingTaskParam']>): GenericTaskGroup<this, Definition['postPreparingTaskParam']>;
    get default(): GenericTaskGroup<this, Definition['defaultTaskParam']>;
    _default(): {};
    asDefaultTaskGroup(taskGroup: GenericTaskGroup<this, Definition['defaultTaskParam']>): GenericTaskGroup<this, Definition['defaultTaskParam']>;
    get writing(): GenericTaskGroup<this, Definition['writingTaskParam']>;
    _writing(): {};
    asWritingTaskGroup(taskGroup: GenericTaskGroup<this, Definition['writingTaskParam']>): GenericTaskGroup<this, Definition['writingTaskParam']>;
    get postWriting(): GenericTaskGroup<this, Definition['postWritingTaskParam']>;
    _postWriting(): {};
    asPostWritingTaskGroup(taskGroup: GenericTaskGroup<this, Definition['postWritingTaskParam']>): GenericTaskGroup<this, Definition['postWritingTaskParam']>;
    get install(): GenericTaskGroup<this, Definition['installTaskParam']>;
    _install(): {};
    asInstallTaskGroup(taskGroup: GenericTaskGroup<this, Definition['installTaskParam']>): GenericTaskGroup<this, Definition['installTaskParam']>;
    get postInstall(): GenericTaskGroup<this, Definition['postInstallTaskParam']>;
    _postInstall(): {};
    asPostInstallTaskGroup(taskGroup: GenericTaskGroup<this, Definition['postInstallTaskParam']>): GenericTaskGroup<this, Definition['postInstallTaskParam']>;
    get end(): GenericTaskGroup<this, Definition['endTaskParam']>;
    _end(): {};
    asEndTaskGroup(taskGroup: GenericTaskGroup<this, Definition['endTaskParam']>): GenericTaskGroup<this, Definition['endTaskParam']>;
    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;
}
