import type { ExportGeneratorOptionsFromCommand, ExportStoragePropertiesFromCommand, ParsableCommand } from '../../lib/command/types.ts'; import CoreGenerator from '../base-core/index.ts'; import type { GenericTask } from '../base-core/types.ts'; import type { TaskTypes as BaseTasks } from './tasks.ts'; import type { Config as BaseConfig, Control, Features as BaseFeatures, Options as BaseOptions, Source as BaseSource } from './types.ts'; /** * Base class that contains blueprints support. * Provides built-in state support with control object. */ export default class BaseGenerator = BaseTasks> extends CoreGenerator { #private; fromBlueprint: boolean; sbsBlueprint?: boolean; delegateToBlueprint: boolean; blueprintConfig?: Record; jhipsterContext?: BaseGenerator; constructor(args?: string[], options?: Options, features?: Features); /** * Filter generator's tasks in case the blueprint should be responsible on queueing those tasks. */ delegateTasksToBlueprint(tasksGetter: () => TaskGroupType): TaskGroupType; /** * Generate a timestamp to be used by Liquibase changelogs. */ nextTimestamp(): string; /** * Get arguments for the priority */ getArgsForPriority(priorityName: string): { control: Control; configChanges: { [k: string]: { newValue: any; oldValue: any; }; }; }[] | { control: Control; }[]; /** * Check if the generator should ask for prompts. */ shouldAskForPrompts({ control }: { control: Control; }): boolean; /** * Priority API stub for blueprints. * * Initializing priority is used to show logo and tasks related to preparing for prompts, like loading constants. */ get initializing(): {}; /** * Utility method to get typed objects for autocomplete. */ asInitializingTaskGroup>>(taskGroup: T): Record>; /** * Priority API stub for blueprints. * * Prompting priority is used to prompt users for configuration values. */ get prompting(): {}; /** * Utility method to get typed objects for autocomplete. */ asPromptingTaskGroup>>(taskGroup: T): Record>; /** * Priority API stub for blueprints. * * Configuring priority is used to customize and validate the configuration. */ get configuring(): {}; /** * Utility method to get typed objects for autocomplete. */ asConfiguringTaskGroup>>(taskGroup: T): Record>; /** * Priority API stub for blueprints. * * Composing should be used to compose with others generators. */ get composing(): {}; /** * Utility method to get typed objects for autocomplete. */ asComposingTaskGroup>>(taskGroup: T): Record>; /** * Priority API stub for blueprints. * * ComposingComponent priority should be used to handle component configuration order. */ get composingComponent(): {}; /** * Utility method to get typed objects for autocomplete. */ asComposingComponentTaskGroup>>(taskGroup: T): Record>; /** * Priority API stub for blueprints. * * Loading should be used to load application configuration from jhipster configuration. * Before this priority the configuration should be considered dirty, while each generator configures itself at configuring priority, another generator composed at composing priority can still change it. */ get loading(): {}; /** * Utility method to get typed objects for autocomplete. */ asLoadingTaskGroup>>(taskGroup: T): Record>; /** * Priority API stub for blueprints. * * Preparing should be used to generate derived properties. */ get preparing(): {}; /** * Utility method to get typed objects for autocomplete. */ asPreparingTaskGroup>>(taskGroup: T): Record>; /** * Priority API stub for blueprints. * * Preparing should be used to generate derived properties. */ get postPreparing(): {}; /** * Utility method to get typed objects for autocomplete. */ asPostPreparingTaskGroup>>(taskGroup: T): Record>; /** * Priority API stub for blueprints. * * Default priority should used as misc customizations. */ get default(): {}; /** * Utility method to get typed objects for autocomplete. */ asDefaultTaskGroup>>(taskGroup: T): Record>; /** * Priority API stub for blueprints. * * Writing priority should used to write files. */ get writing(): {}; /** * Utility method to get typed objects for autocomplete. */ asWritingTaskGroup>>(taskGroup: T): Record>; /** * Priority API stub for blueprints. * * PostWriting priority should used to customize files. */ get postWriting(): {}; /** * Utility method to get typed objects for autocomplete. */ asPostWritingTaskGroup>>(taskGroup: T): Record>; /** * Priority API stub for blueprints. * * Install priority should used to prepare the project. */ get install(): {}; /** * Utility method to get typed objects for autocomplete. */ asInstallTaskGroup>>(taskGroup: T): Record>; /** * Priority API stub for blueprints. * * PostWriting priority should used to customize files. */ get postInstall(): {}; /** * Utility method to get typed objects for autocomplete. */ asPostInstallTaskGroup>>(taskGroup: T): Record>; /** * Priority API stub for blueprints. * * End priority should used to say good bye and print instructions. */ get end(): {}; /** * Utility method to get typed objects for autocomplete. */ asEndTaskGroup>>(taskGroup: T): Record>; /** * @protected * Composes with blueprint generators, if any. */ protected composeWithBlueprints(): Promise; } export declare class CommandBaseGenerator extends BaseGenerator, BaseOptions & ExportGeneratorOptionsFromCommand & AdditionalOptions, BaseSource, BaseFeatures & AdditionalFeatures, BaseTasks> { }