import BaseSimpleApplicationGenerator from '../base-simple-application/index.ts';
import type { Application as JavaSimpleApplicationApplication, Config as JavaSimpleApplicationConfig, Options as JavaSimpleApplicationOptions, Source as JavaSimpleApplicationSource } from './types.ts';
/**
 * Utility class with types.
 */
export declare class JavaSimpleApplicationGenerator extends BaseSimpleApplicationGenerator<JavaSimpleApplicationApplication, JavaSimpleApplicationConfig, JavaSimpleApplicationOptions, JavaSimpleApplicationSource> {
}
export default class JavaGenerator extends JavaSimpleApplicationGenerator {
    [JavaSimpleApplicationGenerator.INITIALIZING]: Record<"validateJava", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl>>;
    [JavaSimpleApplicationGenerator.CONFIGURING]: Record<"fixConfig" | "checkConfig", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl>>;
    [JavaSimpleApplicationGenerator.LOADING]: Record<"loading", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl & {
        application: JavaSimpleApplicationApplication;
    } & import("../base-simple-application/tasks.js").ApplicationDefaultsTaskParam<JavaSimpleApplicationApplication>>>;
    [JavaSimpleApplicationGenerator.DEFAULT]: Record<"generatedAnnotation" | "generatedPackageInfo", import("../base-core/types.js").GenericTask<any, import("../base-simple-application/tasks.js").TaskParamWithApplication<JavaSimpleApplicationApplication>>>;
    [JavaSimpleApplicationGenerator.WRITING]: Record<"writing", import("../base-core/types.js").GenericTask<any, import("../base-simple-application/tasks.js").TaskParamWithApplication<JavaSimpleApplicationApplication>>>;
    [JavaSimpleApplicationGenerator.POST_WRITING]: Record<"addPrettierJava", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl & {
        source: JavaSimpleApplicationSource;
    } & {
        application: JavaSimpleApplicationApplication;
    }>>;
    packageInfoFile: boolean;
    projectVersion?: string;
    jhipsterDependenciesVersion?: string;
    beforeQueue(): Promise<void>;
    get initializing(): Record<"validateJava", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl>>;
    get configuring(): Record<"fixConfig" | "checkConfig", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl>>;
    get loading(): Record<"loading", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl & {
        application: JavaSimpleApplicationApplication;
    } & import("../base-simple-application/tasks.js").ApplicationDefaultsTaskParam<JavaSimpleApplicationApplication>>>;
    get default(): Record<"generatedAnnotation" | "generatedPackageInfo", import("../base-core/types.js").GenericTask<any, import("../base-simple-application/tasks.js").TaskParamWithApplication<JavaSimpleApplicationApplication>>>;
    get writing(): Record<"writing", import("../base-core/types.js").GenericTask<any, import("../base-simple-application/tasks.js").TaskParamWithApplication<JavaSimpleApplicationApplication>>>;
    get postWriting(): Record<"addPrettierJava", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl & {
        source: JavaSimpleApplicationSource;
    } & {
        application: JavaSimpleApplicationApplication;
    }>>;
    /**
     * Check if a supported Java is installed
     *
     * Blueprints can customize or disable java checks versions by overriding this method.
     * @example
     * // disable checks
     * checkJava() {}
     * @examples
     * // enforce java lts versions
     * checkJava() {
     *   super.checkJava(['8', '11', '17'], { throwOnError: true });
     * }
     */
    checkJava(javaCompatibleVersions?: string[], checkResultValidation?: Parameters<typeof this.validateResult>[1]): void;
}
