/**
 * Copyright 2013-2026 the original author or authors from the JHipster project.
 *
 * This file is part of the JHipster project, see https://www.jhipster.tech/
 * for more information.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import BaseApplicationGenerator from '../base-application/index.ts';
import type { Application as ServerApplication, Config as ServerConfig, Entity as ServerEntity, Field as ServerField, Options as ServerOptions, Relationship as ServerRelationship, Source as ServerSource } from './types.ts';
export default class JHipsterServerGenerator extends BaseApplicationGenerator<ServerEntity, ServerApplication, ServerConfig, ServerOptions, ServerSource> {
    [BaseApplicationGenerator.COMPOSING]: Record<"composeBackendType", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl>>;
    [BaseApplicationGenerator.CONFIGURING_EACH_ENTITY]: Record<"configureRelationships" | "configureMicroservice" | "configureGateway" | "configureEntitySearchEngine" | "configureModelFiltering" | "configurePagination" | "configureEntityTable" | "configureFields", import("../base-core/types.js").GenericTask<any, import("../base-application/tasks.js").ConfiguringEachEntityTaskParam<ServerEntity<({
        propertyName: string;
        propertyNameCapitalized?: string;
        propertyNameUpperSnakeCase?: string;
        propertyApiDescription?: string;
        skipClient?: boolean;
        skipServer?: boolean;
    } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
        fieldTypeBlob: boolean;
        fieldTypeString: boolean;
        fieldTypeInteger: boolean;
        fieldTypeLong: boolean;
        fieldTypeBigDecimal: boolean;
        fieldTypeFloat: boolean;
        fieldTypeDouble: boolean;
        fieldTypeUUID: boolean;
        fieldTypeBoolean: boolean;
        fieldTypeLocalDate: boolean;
        fieldTypeZonedDateTime: boolean;
        fieldTypeAnyBlob: boolean;
        fieldTypeImageBlob: boolean;
        fieldTypeTextBlob: boolean;
        fieldTypeInstant: boolean;
        fieldTypeDuration: boolean;
        fieldTypeByte: boolean;
        fieldTypeByteBuffer: boolean;
        fieldTypeLocalTime: boolean;
    } & {
        fieldValidationMin: boolean;
        fieldValidationRequired: boolean;
        fieldValidationPattern: boolean;
        fieldValidationMax: boolean;
        fieldValidationUnique: boolean;
        fieldValidationMinlength: boolean;
        fieldValidationMaxlength: boolean;
        fieldValidationMinbytes: boolean;
        fieldValidationMaxbytes: boolean;
    } & {
        path?: string[];
        fieldNameCapitalized: string;
        fieldNameHumanized: string;
        fieldNameUnderscored: string;
        fieldTranslationKey?: string;
        propertyTranslationKey?: string;
        fieldApiDescription?: string;
        enumFileName?: string;
        enumValues?: {
            name: string;
            value: string;
        }[];
        fieldValidate?: boolean;
        unique?: boolean;
        maxlength?: number;
        fakerTemplate?: string;
        uniqueValue?: any[];
        generateFakeDataFromPattern?: () => string | undefined;
        generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
        transient?: boolean;
        id?: boolean;
        autoGenerate?: boolean;
        readonly?: boolean;
        sequenceGeneratorName?: string;
        fieldWithContentType?: boolean;
        contentTypeFieldName?: string;
        fieldTypeTimed?: boolean;
        blobContentTypeText?: boolean;
        blobContentTypeImage?: boolean;
        blobContentTypeAny?: boolean;
        fieldTypeBytes?: boolean;
        fieldTypeBinary?: boolean;
        fieldValidationMinLength: boolean;
        fieldValidationMaxLength: boolean;
        fieldValidationMinBytes: boolean;
        fieldValidationMaxBytes: boolean;
        relatedByOtherEntity?: boolean;
        enumInstance?: string;
        builtIn?: boolean;
        derivedPath?: string[];
    } & {
        fieldType: string;
        fieldIsEnum: true;
    } & {
        propertyJavaBeanName?: string;
        propertySupplierName?: string;
        propertyConsumerName?: string;
    } & {
        fieldInJavaBeanMethod: string;
    } & {
        propertyDtoJavaType?: string;
    } & {
        javaFieldType?: string;
        fieldJavaBuildSpecification?: string;
        fieldJavadoc?: string;
        fieldJavaValueGenerator?: string;
        javaValueGenerator?: string;
        propertyJavaCustomFilter?: {
            type: string;
            superType: string;
            fieldType: string;
        };
        javaValueSample1?: string;
        javaValueSample2?: string;
        fieldValidateRulesPatternJava?: string;
        javaFieldValidatorsPartial?: string;
    } & {
        fieldTypeTemporal: boolean;
        fieldTypeCharSequence: boolean;
        fieldTypeNumeric: boolean;
        fieldSupportsSortBy?: boolean;
    }) | ({
        propertyName: string;
        propertyNameCapitalized?: string;
        propertyNameUpperSnakeCase?: string;
        propertyApiDescription?: string;
        skipClient?: boolean;
        skipServer?: boolean;
    } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
        fieldTypeBlob: boolean;
        fieldTypeString: boolean;
        fieldTypeInteger: boolean;
        fieldTypeLong: boolean;
        fieldTypeBigDecimal: boolean;
        fieldTypeFloat: boolean;
        fieldTypeDouble: boolean;
        fieldTypeUUID: boolean;
        fieldTypeBoolean: boolean;
        fieldTypeLocalDate: boolean;
        fieldTypeZonedDateTime: boolean;
        fieldTypeAnyBlob: boolean;
        fieldTypeImageBlob: boolean;
        fieldTypeTextBlob: boolean;
        fieldTypeInstant: boolean;
        fieldTypeDuration: boolean;
        fieldTypeByte: boolean;
        fieldTypeByteBuffer: boolean;
        fieldTypeLocalTime: boolean;
    } & {
        fieldValidationMin: boolean;
        fieldValidationRequired: boolean;
        fieldValidationPattern: boolean;
        fieldValidationMax: boolean;
        fieldValidationUnique: boolean;
        fieldValidationMinlength: boolean;
        fieldValidationMaxlength: boolean;
        fieldValidationMinbytes: boolean;
        fieldValidationMaxbytes: boolean;
    } & {
        path?: string[];
        fieldNameCapitalized: string;
        fieldNameHumanized: string;
        fieldNameUnderscored: string;
        fieldTranslationKey?: string;
        propertyTranslationKey?: string;
        fieldApiDescription?: string;
        enumFileName?: string;
        enumValues?: {
            name: string;
            value: string;
        }[];
        fieldValidate?: boolean;
        unique?: boolean;
        maxlength?: number;
        fakerTemplate?: string;
        uniqueValue?: any[];
        generateFakeDataFromPattern?: () => string | undefined;
        generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
        transient?: boolean;
        id?: boolean;
        autoGenerate?: boolean;
        readonly?: boolean;
        sequenceGeneratorName?: string;
        fieldWithContentType?: boolean;
        contentTypeFieldName?: string;
        fieldTypeTimed?: boolean;
        blobContentTypeText?: boolean;
        blobContentTypeImage?: boolean;
        blobContentTypeAny?: boolean;
        fieldTypeBytes?: boolean;
        fieldTypeBinary?: boolean;
        fieldValidationMinLength: boolean;
        fieldValidationMaxLength: boolean;
        fieldValidationMinBytes: boolean;
        fieldValidationMaxBytes: boolean;
        relatedByOtherEntity?: boolean;
        enumInstance?: string;
        builtIn?: boolean;
        derivedPath?: string[];
    } & {
        fieldType: import("../../lib/jhipster/field-types.ts").FieldType;
        fieldIsEnum: false;
    } & {
        propertyJavaBeanName?: string;
        propertySupplierName?: string;
        propertyConsumerName?: string;
    } & {
        fieldInJavaBeanMethod: string;
    } & {
        propertyDtoJavaType?: string;
    } & {
        javaFieldType?: string;
        fieldJavaBuildSpecification?: string;
        fieldJavadoc?: string;
        fieldJavaValueGenerator?: string;
        javaValueGenerator?: string;
        propertyJavaCustomFilter?: {
            type: string;
            superType: string;
            fieldType: string;
        };
        javaValueSample1?: string;
        javaValueSample2?: string;
        fieldValidateRulesPatternJava?: string;
        javaFieldValidatorsPartial?: string;
    } & {
        fieldTypeTemporal: boolean;
        fieldTypeCharSequence: boolean;
        fieldTypeNumeric: boolean;
        fieldSupportsSortBy?: boolean;
    }), ServerRelationship>, ServerApplication>>>;
    [BaseApplicationGenerator.LOADING_ENTITIES]: Record<"loadEntityConfig", import("../base-core/types.js").GenericTask<any, import("../base-application/tasks.js").LoadingEntitiesTaskParam<ServerEntity<({
        propertyName: string;
        propertyNameCapitalized?: string;
        propertyNameUpperSnakeCase?: string;
        propertyApiDescription?: string;
        skipClient?: boolean;
        skipServer?: boolean;
    } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
        fieldTypeBlob: boolean;
        fieldTypeString: boolean;
        fieldTypeInteger: boolean;
        fieldTypeLong: boolean;
        fieldTypeBigDecimal: boolean;
        fieldTypeFloat: boolean;
        fieldTypeDouble: boolean;
        fieldTypeUUID: boolean;
        fieldTypeBoolean: boolean;
        fieldTypeLocalDate: boolean;
        fieldTypeZonedDateTime: boolean;
        fieldTypeAnyBlob: boolean;
        fieldTypeImageBlob: boolean;
        fieldTypeTextBlob: boolean;
        fieldTypeInstant: boolean;
        fieldTypeDuration: boolean;
        fieldTypeByte: boolean;
        fieldTypeByteBuffer: boolean;
        fieldTypeLocalTime: boolean;
    } & {
        fieldValidationMin: boolean;
        fieldValidationRequired: boolean;
        fieldValidationPattern: boolean;
        fieldValidationMax: boolean;
        fieldValidationUnique: boolean;
        fieldValidationMinlength: boolean;
        fieldValidationMaxlength: boolean;
        fieldValidationMinbytes: boolean;
        fieldValidationMaxbytes: boolean;
    } & {
        path?: string[];
        fieldNameCapitalized: string;
        fieldNameHumanized: string;
        fieldNameUnderscored: string;
        fieldTranslationKey?: string;
        propertyTranslationKey?: string;
        fieldApiDescription?: string;
        enumFileName?: string;
        enumValues?: {
            name: string;
            value: string;
        }[];
        fieldValidate?: boolean;
        unique?: boolean;
        maxlength?: number;
        fakerTemplate?: string;
        uniqueValue?: any[];
        generateFakeDataFromPattern?: () => string | undefined;
        generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
        transient?: boolean;
        id?: boolean;
        autoGenerate?: boolean;
        readonly?: boolean;
        sequenceGeneratorName?: string;
        fieldWithContentType?: boolean;
        contentTypeFieldName?: string;
        fieldTypeTimed?: boolean;
        blobContentTypeText?: boolean;
        blobContentTypeImage?: boolean;
        blobContentTypeAny?: boolean;
        fieldTypeBytes?: boolean;
        fieldTypeBinary?: boolean;
        fieldValidationMinLength: boolean;
        fieldValidationMaxLength: boolean;
        fieldValidationMinBytes: boolean;
        fieldValidationMaxBytes: boolean;
        relatedByOtherEntity?: boolean;
        enumInstance?: string;
        builtIn?: boolean;
        derivedPath?: string[];
    } & {
        fieldType: string;
        fieldIsEnum: true;
    } & {
        propertyJavaBeanName?: string;
        propertySupplierName?: string;
        propertyConsumerName?: string;
    } & {
        fieldInJavaBeanMethod: string;
    } & {
        propertyDtoJavaType?: string;
    } & {
        javaFieldType?: string;
        fieldJavaBuildSpecification?: string;
        fieldJavadoc?: string;
        fieldJavaValueGenerator?: string;
        javaValueGenerator?: string;
        propertyJavaCustomFilter?: {
            type: string;
            superType: string;
            fieldType: string;
        };
        javaValueSample1?: string;
        javaValueSample2?: string;
        fieldValidateRulesPatternJava?: string;
        javaFieldValidatorsPartial?: string;
    } & {
        fieldTypeTemporal: boolean;
        fieldTypeCharSequence: boolean;
        fieldTypeNumeric: boolean;
        fieldSupportsSortBy?: boolean;
    }) | ({
        propertyName: string;
        propertyNameCapitalized?: string;
        propertyNameUpperSnakeCase?: string;
        propertyApiDescription?: string;
        skipClient?: boolean;
        skipServer?: boolean;
    } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
        fieldTypeBlob: boolean;
        fieldTypeString: boolean;
        fieldTypeInteger: boolean;
        fieldTypeLong: boolean;
        fieldTypeBigDecimal: boolean;
        fieldTypeFloat: boolean;
        fieldTypeDouble: boolean;
        fieldTypeUUID: boolean;
        fieldTypeBoolean: boolean;
        fieldTypeLocalDate: boolean;
        fieldTypeZonedDateTime: boolean;
        fieldTypeAnyBlob: boolean;
        fieldTypeImageBlob: boolean;
        fieldTypeTextBlob: boolean;
        fieldTypeInstant: boolean;
        fieldTypeDuration: boolean;
        fieldTypeByte: boolean;
        fieldTypeByteBuffer: boolean;
        fieldTypeLocalTime: boolean;
    } & {
        fieldValidationMin: boolean;
        fieldValidationRequired: boolean;
        fieldValidationPattern: boolean;
        fieldValidationMax: boolean;
        fieldValidationUnique: boolean;
        fieldValidationMinlength: boolean;
        fieldValidationMaxlength: boolean;
        fieldValidationMinbytes: boolean;
        fieldValidationMaxbytes: boolean;
    } & {
        path?: string[];
        fieldNameCapitalized: string;
        fieldNameHumanized: string;
        fieldNameUnderscored: string;
        fieldTranslationKey?: string;
        propertyTranslationKey?: string;
        fieldApiDescription?: string;
        enumFileName?: string;
        enumValues?: {
            name: string;
            value: string;
        }[];
        fieldValidate?: boolean;
        unique?: boolean;
        maxlength?: number;
        fakerTemplate?: string;
        uniqueValue?: any[];
        generateFakeDataFromPattern?: () => string | undefined;
        generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
        transient?: boolean;
        id?: boolean;
        autoGenerate?: boolean;
        readonly?: boolean;
        sequenceGeneratorName?: string;
        fieldWithContentType?: boolean;
        contentTypeFieldName?: string;
        fieldTypeTimed?: boolean;
        blobContentTypeText?: boolean;
        blobContentTypeImage?: boolean;
        blobContentTypeAny?: boolean;
        fieldTypeBytes?: boolean;
        fieldTypeBinary?: boolean;
        fieldValidationMinLength: boolean;
        fieldValidationMaxLength: boolean;
        fieldValidationMinBytes: boolean;
        fieldValidationMaxBytes: boolean;
        relatedByOtherEntity?: boolean;
        enumInstance?: string;
        builtIn?: boolean;
        derivedPath?: string[];
    } & {
        fieldType: import("../../lib/jhipster/field-types.ts").FieldType;
        fieldIsEnum: false;
    } & {
        propertyJavaBeanName?: string;
        propertySupplierName?: string;
        propertyConsumerName?: string;
    } & {
        fieldInJavaBeanMethod: string;
    } & {
        propertyDtoJavaType?: string;
    } & {
        javaFieldType?: string;
        fieldJavaBuildSpecification?: string;
        fieldJavadoc?: string;
        fieldJavaValueGenerator?: string;
        javaValueGenerator?: string;
        propertyJavaCustomFilter?: {
            type: string;
            superType: string;
            fieldType: string;
        };
        javaValueSample1?: string;
        javaValueSample2?: string;
        fieldValidateRulesPatternJava?: string;
        javaFieldValidatorsPartial?: string;
    } & {
        fieldTypeTemporal: boolean;
        fieldTypeCharSequence: boolean;
        fieldTypeNumeric: boolean;
        fieldSupportsSortBy?: boolean;
    }), ServerRelationship>, ServerApplication>>>;
    [BaseApplicationGenerator.POST_PREPARING_EACH_ENTITY]: Record<"checkForTableName", import("../base-core/types.js").GenericTask<any, import("../base-application/tasks.js").PreparingEachEntityTaskParam<ServerEntity<({
        propertyName: string;
        propertyNameCapitalized?: string;
        propertyNameUpperSnakeCase?: string;
        propertyApiDescription?: string;
        skipClient?: boolean;
        skipServer?: boolean;
    } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
        fieldTypeBlob: boolean;
        fieldTypeString: boolean;
        fieldTypeInteger: boolean;
        fieldTypeLong: boolean;
        fieldTypeBigDecimal: boolean;
        fieldTypeFloat: boolean;
        fieldTypeDouble: boolean;
        fieldTypeUUID: boolean;
        fieldTypeBoolean: boolean;
        fieldTypeLocalDate: boolean;
        fieldTypeZonedDateTime: boolean;
        fieldTypeAnyBlob: boolean;
        fieldTypeImageBlob: boolean;
        fieldTypeTextBlob: boolean;
        fieldTypeInstant: boolean;
        fieldTypeDuration: boolean;
        fieldTypeByte: boolean;
        fieldTypeByteBuffer: boolean;
        fieldTypeLocalTime: boolean;
    } & {
        fieldValidationMin: boolean;
        fieldValidationRequired: boolean;
        fieldValidationPattern: boolean;
        fieldValidationMax: boolean;
        fieldValidationUnique: boolean;
        fieldValidationMinlength: boolean;
        fieldValidationMaxlength: boolean;
        fieldValidationMinbytes: boolean;
        fieldValidationMaxbytes: boolean;
    } & {
        path?: string[];
        fieldNameCapitalized: string;
        fieldNameHumanized: string;
        fieldNameUnderscored: string;
        fieldTranslationKey?: string;
        propertyTranslationKey?: string;
        fieldApiDescription?: string;
        enumFileName?: string;
        enumValues?: {
            name: string;
            value: string;
        }[];
        fieldValidate?: boolean;
        unique?: boolean;
        maxlength?: number;
        fakerTemplate?: string;
        uniqueValue?: any[];
        generateFakeDataFromPattern?: () => string | undefined;
        generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
        transient?: boolean;
        id?: boolean;
        autoGenerate?: boolean;
        readonly?: boolean;
        sequenceGeneratorName?: string;
        fieldWithContentType?: boolean;
        contentTypeFieldName?: string;
        fieldTypeTimed?: boolean;
        blobContentTypeText?: boolean;
        blobContentTypeImage?: boolean;
        blobContentTypeAny?: boolean;
        fieldTypeBytes?: boolean;
        fieldTypeBinary?: boolean;
        fieldValidationMinLength: boolean;
        fieldValidationMaxLength: boolean;
        fieldValidationMinBytes: boolean;
        fieldValidationMaxBytes: boolean;
        relatedByOtherEntity?: boolean;
        enumInstance?: string;
        builtIn?: boolean;
        derivedPath?: string[];
    } & {
        fieldType: string;
        fieldIsEnum: true;
    } & {
        propertyJavaBeanName?: string;
        propertySupplierName?: string;
        propertyConsumerName?: string;
    } & {
        fieldInJavaBeanMethod: string;
    } & {
        propertyDtoJavaType?: string;
    } & {
        javaFieldType?: string;
        fieldJavaBuildSpecification?: string;
        fieldJavadoc?: string;
        fieldJavaValueGenerator?: string;
        javaValueGenerator?: string;
        propertyJavaCustomFilter?: {
            type: string;
            superType: string;
            fieldType: string;
        };
        javaValueSample1?: string;
        javaValueSample2?: string;
        fieldValidateRulesPatternJava?: string;
        javaFieldValidatorsPartial?: string;
    } & {
        fieldTypeTemporal: boolean;
        fieldTypeCharSequence: boolean;
        fieldTypeNumeric: boolean;
        fieldSupportsSortBy?: boolean;
    }) | ({
        propertyName: string;
        propertyNameCapitalized?: string;
        propertyNameUpperSnakeCase?: string;
        propertyApiDescription?: string;
        skipClient?: boolean;
        skipServer?: boolean;
    } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
        fieldTypeBlob: boolean;
        fieldTypeString: boolean;
        fieldTypeInteger: boolean;
        fieldTypeLong: boolean;
        fieldTypeBigDecimal: boolean;
        fieldTypeFloat: boolean;
        fieldTypeDouble: boolean;
        fieldTypeUUID: boolean;
        fieldTypeBoolean: boolean;
        fieldTypeLocalDate: boolean;
        fieldTypeZonedDateTime: boolean;
        fieldTypeAnyBlob: boolean;
        fieldTypeImageBlob: boolean;
        fieldTypeTextBlob: boolean;
        fieldTypeInstant: boolean;
        fieldTypeDuration: boolean;
        fieldTypeByte: boolean;
        fieldTypeByteBuffer: boolean;
        fieldTypeLocalTime: boolean;
    } & {
        fieldValidationMin: boolean;
        fieldValidationRequired: boolean;
        fieldValidationPattern: boolean;
        fieldValidationMax: boolean;
        fieldValidationUnique: boolean;
        fieldValidationMinlength: boolean;
        fieldValidationMaxlength: boolean;
        fieldValidationMinbytes: boolean;
        fieldValidationMaxbytes: boolean;
    } & {
        path?: string[];
        fieldNameCapitalized: string;
        fieldNameHumanized: string;
        fieldNameUnderscored: string;
        fieldTranslationKey?: string;
        propertyTranslationKey?: string;
        fieldApiDescription?: string;
        enumFileName?: string;
        enumValues?: {
            name: string;
            value: string;
        }[];
        fieldValidate?: boolean;
        unique?: boolean;
        maxlength?: number;
        fakerTemplate?: string;
        uniqueValue?: any[];
        generateFakeDataFromPattern?: () => string | undefined;
        generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
        transient?: boolean;
        id?: boolean;
        autoGenerate?: boolean;
        readonly?: boolean;
        sequenceGeneratorName?: string;
        fieldWithContentType?: boolean;
        contentTypeFieldName?: string;
        fieldTypeTimed?: boolean;
        blobContentTypeText?: boolean;
        blobContentTypeImage?: boolean;
        blobContentTypeAny?: boolean;
        fieldTypeBytes?: boolean;
        fieldTypeBinary?: boolean;
        fieldValidationMinLength: boolean;
        fieldValidationMaxLength: boolean;
        fieldValidationMinBytes: boolean;
        fieldValidationMaxBytes: boolean;
        relatedByOtherEntity?: boolean;
        enumInstance?: string;
        builtIn?: boolean;
        derivedPath?: string[];
    } & {
        fieldType: import("../../lib/jhipster/field-types.ts").FieldType;
        fieldIsEnum: false;
    } & {
        propertyJavaBeanName?: string;
        propertySupplierName?: string;
        propertyConsumerName?: string;
    } & {
        fieldInJavaBeanMethod: string;
    } & {
        propertyDtoJavaType?: string;
    } & {
        javaFieldType?: string;
        fieldJavaBuildSpecification?: string;
        fieldJavadoc?: string;
        fieldJavaValueGenerator?: string;
        javaValueGenerator?: string;
        propertyJavaCustomFilter?: {
            type: string;
            superType: string;
            fieldType: string;
        };
        javaValueSample1?: string;
        javaValueSample2?: string;
        fieldValidateRulesPatternJava?: string;
        javaFieldValidatorsPartial?: string;
    } & {
        fieldTypeTemporal: boolean;
        fieldTypeCharSequence: boolean;
        fieldTypeNumeric: boolean;
        fieldSupportsSortBy?: boolean;
    }), ServerRelationship>, ServerApplication>>>;
    [BaseApplicationGenerator.DEFAULT]: Record<"checkCompositeIds", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl & {
        application: ServerApplication;
    } & {
        entities: ServerEntity<({
            propertyName: string;
            propertyNameCapitalized?: string;
            propertyNameUpperSnakeCase?: string;
            propertyApiDescription?: string;
            skipClient?: boolean;
            skipServer?: boolean;
        } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
            fieldTypeBlob: boolean;
            fieldTypeString: boolean;
            fieldTypeInteger: boolean;
            fieldTypeLong: boolean;
            fieldTypeBigDecimal: boolean;
            fieldTypeFloat: boolean;
            fieldTypeDouble: boolean;
            fieldTypeUUID: boolean;
            fieldTypeBoolean: boolean;
            fieldTypeLocalDate: boolean;
            fieldTypeZonedDateTime: boolean;
            fieldTypeAnyBlob: boolean;
            fieldTypeImageBlob: boolean;
            fieldTypeTextBlob: boolean;
            fieldTypeInstant: boolean;
            fieldTypeDuration: boolean;
            fieldTypeByte: boolean;
            fieldTypeByteBuffer: boolean;
            fieldTypeLocalTime: boolean;
        } & {
            fieldValidationMin: boolean;
            fieldValidationRequired: boolean;
            fieldValidationPattern: boolean;
            fieldValidationMax: boolean;
            fieldValidationUnique: boolean;
            fieldValidationMinlength: boolean;
            fieldValidationMaxlength: boolean;
            fieldValidationMinbytes: boolean;
            fieldValidationMaxbytes: boolean;
        } & {
            path?: string[];
            fieldNameCapitalized: string;
            fieldNameHumanized: string;
            fieldNameUnderscored: string;
            fieldTranslationKey?: string;
            propertyTranslationKey?: string;
            fieldApiDescription?: string;
            enumFileName?: string;
            enumValues?: {
                name: string;
                value: string;
            }[];
            fieldValidate?: boolean;
            unique?: boolean;
            maxlength?: number;
            fakerTemplate?: string;
            uniqueValue?: any[];
            generateFakeDataFromPattern?: () => string | undefined;
            generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
            transient?: boolean;
            id?: boolean;
            autoGenerate?: boolean;
            readonly?: boolean;
            sequenceGeneratorName?: string;
            fieldWithContentType?: boolean;
            contentTypeFieldName?: string;
            fieldTypeTimed?: boolean;
            blobContentTypeText?: boolean;
            blobContentTypeImage?: boolean;
            blobContentTypeAny?: boolean;
            fieldTypeBytes?: boolean;
            fieldTypeBinary?: boolean;
            fieldValidationMinLength: boolean;
            fieldValidationMaxLength: boolean;
            fieldValidationMinBytes: boolean;
            fieldValidationMaxBytes: boolean;
            relatedByOtherEntity?: boolean;
            enumInstance?: string;
            builtIn?: boolean;
            derivedPath?: string[];
        } & {
            fieldType: string;
            fieldIsEnum: true;
        } & {
            propertyJavaBeanName?: string;
            propertySupplierName?: string;
            propertyConsumerName?: string;
        } & {
            fieldInJavaBeanMethod: string;
        } & {
            propertyDtoJavaType?: string;
        } & {
            javaFieldType?: string;
            fieldJavaBuildSpecification?: string;
            fieldJavadoc?: string;
            fieldJavaValueGenerator?: string;
            javaValueGenerator?: string;
            propertyJavaCustomFilter?: {
                type: string;
                superType: string;
                fieldType: string;
            };
            javaValueSample1?: string;
            javaValueSample2?: string;
            fieldValidateRulesPatternJava?: string;
            javaFieldValidatorsPartial?: string;
        } & {
            fieldTypeTemporal: boolean;
            fieldTypeCharSequence: boolean;
            fieldTypeNumeric: boolean;
            fieldSupportsSortBy?: boolean;
        }) | ({
            propertyName: string;
            propertyNameCapitalized?: string;
            propertyNameUpperSnakeCase?: string;
            propertyApiDescription?: string;
            skipClient?: boolean;
            skipServer?: boolean;
        } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
            fieldTypeBlob: boolean;
            fieldTypeString: boolean;
            fieldTypeInteger: boolean;
            fieldTypeLong: boolean;
            fieldTypeBigDecimal: boolean;
            fieldTypeFloat: boolean;
            fieldTypeDouble: boolean;
            fieldTypeUUID: boolean;
            fieldTypeBoolean: boolean;
            fieldTypeLocalDate: boolean;
            fieldTypeZonedDateTime: boolean;
            fieldTypeAnyBlob: boolean;
            fieldTypeImageBlob: boolean;
            fieldTypeTextBlob: boolean;
            fieldTypeInstant: boolean;
            fieldTypeDuration: boolean;
            fieldTypeByte: boolean;
            fieldTypeByteBuffer: boolean;
            fieldTypeLocalTime: boolean;
        } & {
            fieldValidationMin: boolean;
            fieldValidationRequired: boolean;
            fieldValidationPattern: boolean;
            fieldValidationMax: boolean;
            fieldValidationUnique: boolean;
            fieldValidationMinlength: boolean;
            fieldValidationMaxlength: boolean;
            fieldValidationMinbytes: boolean;
            fieldValidationMaxbytes: boolean;
        } & {
            path?: string[];
            fieldNameCapitalized: string;
            fieldNameHumanized: string;
            fieldNameUnderscored: string;
            fieldTranslationKey?: string;
            propertyTranslationKey?: string;
            fieldApiDescription?: string;
            enumFileName?: string;
            enumValues?: {
                name: string;
                value: string;
            }[];
            fieldValidate?: boolean;
            unique?: boolean;
            maxlength?: number;
            fakerTemplate?: string;
            uniqueValue?: any[];
            generateFakeDataFromPattern?: () => string | undefined;
            generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
            transient?: boolean;
            id?: boolean;
            autoGenerate?: boolean;
            readonly?: boolean;
            sequenceGeneratorName?: string;
            fieldWithContentType?: boolean;
            contentTypeFieldName?: string;
            fieldTypeTimed?: boolean;
            blobContentTypeText?: boolean;
            blobContentTypeImage?: boolean;
            blobContentTypeAny?: boolean;
            fieldTypeBytes?: boolean;
            fieldTypeBinary?: boolean;
            fieldValidationMinLength: boolean;
            fieldValidationMaxLength: boolean;
            fieldValidationMinBytes: boolean;
            fieldValidationMaxBytes: boolean;
            relatedByOtherEntity?: boolean;
            enumInstance?: string;
            builtIn?: boolean;
            derivedPath?: string[];
        } & {
            fieldType: import("../../lib/jhipster/field-types.ts").FieldType;
            fieldIsEnum: false;
        } & {
            propertyJavaBeanName?: string;
            propertySupplierName?: string;
            propertyConsumerName?: string;
        } & {
            fieldInJavaBeanMethod: string;
        } & {
            propertyDtoJavaType?: string;
        } & {
            javaFieldType?: string;
            fieldJavaBuildSpecification?: string;
            fieldJavadoc?: string;
            fieldJavaValueGenerator?: string;
            javaValueGenerator?: string;
            propertyJavaCustomFilter?: {
                type: string;
                superType: string;
                fieldType: string;
            };
            javaValueSample1?: string;
            javaValueSample2?: string;
            fieldValidateRulesPatternJava?: string;
            javaFieldValidatorsPartial?: string;
        } & {
            fieldTypeTemporal: boolean;
            fieldTypeCharSequence: boolean;
            fieldTypeNumeric: boolean;
            fieldSupportsSortBy?: boolean;
        }), ServerRelationship>[];
    }>>;
    beforeQueue(): Promise<void>;
    get composing(): Record<"composeBackendType", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl>>;
    get configuringEachEntity(): Record<"configureRelationships" | "configureMicroservice" | "configureGateway" | "configureEntitySearchEngine" | "configureModelFiltering" | "configurePagination" | "configureEntityTable" | "configureFields", import("../base-core/types.js").GenericTask<any, import("../base-application/tasks.js").ConfiguringEachEntityTaskParam<ServerEntity<({
        propertyName: string;
        propertyNameCapitalized?: string;
        propertyNameUpperSnakeCase?: string;
        propertyApiDescription?: string;
        skipClient?: boolean;
        skipServer?: boolean;
    } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
        fieldTypeBlob: boolean;
        fieldTypeString: boolean;
        fieldTypeInteger: boolean;
        fieldTypeLong: boolean;
        fieldTypeBigDecimal: boolean;
        fieldTypeFloat: boolean;
        fieldTypeDouble: boolean;
        fieldTypeUUID: boolean;
        fieldTypeBoolean: boolean;
        fieldTypeLocalDate: boolean;
        fieldTypeZonedDateTime: boolean;
        fieldTypeAnyBlob: boolean;
        fieldTypeImageBlob: boolean;
        fieldTypeTextBlob: boolean;
        fieldTypeInstant: boolean;
        fieldTypeDuration: boolean;
        fieldTypeByte: boolean;
        fieldTypeByteBuffer: boolean;
        fieldTypeLocalTime: boolean;
    } & {
        fieldValidationMin: boolean;
        fieldValidationRequired: boolean;
        fieldValidationPattern: boolean;
        fieldValidationMax: boolean;
        fieldValidationUnique: boolean;
        fieldValidationMinlength: boolean;
        fieldValidationMaxlength: boolean;
        fieldValidationMinbytes: boolean;
        fieldValidationMaxbytes: boolean;
    } & {
        path?: string[];
        fieldNameCapitalized: string;
        fieldNameHumanized: string;
        fieldNameUnderscored: string;
        fieldTranslationKey?: string;
        propertyTranslationKey?: string;
        fieldApiDescription?: string;
        enumFileName?: string;
        enumValues?: {
            name: string;
            value: string;
        }[];
        fieldValidate?: boolean;
        unique?: boolean;
        maxlength?: number;
        fakerTemplate?: string;
        uniqueValue?: any[];
        generateFakeDataFromPattern?: () => string | undefined;
        generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
        transient?: boolean;
        id?: boolean;
        autoGenerate?: boolean;
        readonly?: boolean;
        sequenceGeneratorName?: string;
        fieldWithContentType?: boolean;
        contentTypeFieldName?: string;
        fieldTypeTimed?: boolean;
        blobContentTypeText?: boolean;
        blobContentTypeImage?: boolean;
        blobContentTypeAny?: boolean;
        fieldTypeBytes?: boolean;
        fieldTypeBinary?: boolean;
        fieldValidationMinLength: boolean;
        fieldValidationMaxLength: boolean;
        fieldValidationMinBytes: boolean;
        fieldValidationMaxBytes: boolean;
        relatedByOtherEntity?: boolean;
        enumInstance?: string;
        builtIn?: boolean;
        derivedPath?: string[];
    } & {
        fieldType: string;
        fieldIsEnum: true;
    } & {
        propertyJavaBeanName?: string;
        propertySupplierName?: string;
        propertyConsumerName?: string;
    } & {
        fieldInJavaBeanMethod: string;
    } & {
        propertyDtoJavaType?: string;
    } & {
        javaFieldType?: string;
        fieldJavaBuildSpecification?: string;
        fieldJavadoc?: string;
        fieldJavaValueGenerator?: string;
        javaValueGenerator?: string;
        propertyJavaCustomFilter?: {
            type: string;
            superType: string;
            fieldType: string;
        };
        javaValueSample1?: string;
        javaValueSample2?: string;
        fieldValidateRulesPatternJava?: string;
        javaFieldValidatorsPartial?: string;
    } & {
        fieldTypeTemporal: boolean;
        fieldTypeCharSequence: boolean;
        fieldTypeNumeric: boolean;
        fieldSupportsSortBy?: boolean;
    }) | ({
        propertyName: string;
        propertyNameCapitalized?: string;
        propertyNameUpperSnakeCase?: string;
        propertyApiDescription?: string;
        skipClient?: boolean;
        skipServer?: boolean;
    } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
        fieldTypeBlob: boolean;
        fieldTypeString: boolean;
        fieldTypeInteger: boolean;
        fieldTypeLong: boolean;
        fieldTypeBigDecimal: boolean;
        fieldTypeFloat: boolean;
        fieldTypeDouble: boolean;
        fieldTypeUUID: boolean;
        fieldTypeBoolean: boolean;
        fieldTypeLocalDate: boolean;
        fieldTypeZonedDateTime: boolean;
        fieldTypeAnyBlob: boolean;
        fieldTypeImageBlob: boolean;
        fieldTypeTextBlob: boolean;
        fieldTypeInstant: boolean;
        fieldTypeDuration: boolean;
        fieldTypeByte: boolean;
        fieldTypeByteBuffer: boolean;
        fieldTypeLocalTime: boolean;
    } & {
        fieldValidationMin: boolean;
        fieldValidationRequired: boolean;
        fieldValidationPattern: boolean;
        fieldValidationMax: boolean;
        fieldValidationUnique: boolean;
        fieldValidationMinlength: boolean;
        fieldValidationMaxlength: boolean;
        fieldValidationMinbytes: boolean;
        fieldValidationMaxbytes: boolean;
    } & {
        path?: string[];
        fieldNameCapitalized: string;
        fieldNameHumanized: string;
        fieldNameUnderscored: string;
        fieldTranslationKey?: string;
        propertyTranslationKey?: string;
        fieldApiDescription?: string;
        enumFileName?: string;
        enumValues?: {
            name: string;
            value: string;
        }[];
        fieldValidate?: boolean;
        unique?: boolean;
        maxlength?: number;
        fakerTemplate?: string;
        uniqueValue?: any[];
        generateFakeDataFromPattern?: () => string | undefined;
        generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
        transient?: boolean;
        id?: boolean;
        autoGenerate?: boolean;
        readonly?: boolean;
        sequenceGeneratorName?: string;
        fieldWithContentType?: boolean;
        contentTypeFieldName?: string;
        fieldTypeTimed?: boolean;
        blobContentTypeText?: boolean;
        blobContentTypeImage?: boolean;
        blobContentTypeAny?: boolean;
        fieldTypeBytes?: boolean;
        fieldTypeBinary?: boolean;
        fieldValidationMinLength: boolean;
        fieldValidationMaxLength: boolean;
        fieldValidationMinBytes: boolean;
        fieldValidationMaxBytes: boolean;
        relatedByOtherEntity?: boolean;
        enumInstance?: string;
        builtIn?: boolean;
        derivedPath?: string[];
    } & {
        fieldType: import("../../lib/jhipster/field-types.ts").FieldType;
        fieldIsEnum: false;
    } & {
        propertyJavaBeanName?: string;
        propertySupplierName?: string;
        propertyConsumerName?: string;
    } & {
        fieldInJavaBeanMethod: string;
    } & {
        propertyDtoJavaType?: string;
    } & {
        javaFieldType?: string;
        fieldJavaBuildSpecification?: string;
        fieldJavadoc?: string;
        fieldJavaValueGenerator?: string;
        javaValueGenerator?: string;
        propertyJavaCustomFilter?: {
            type: string;
            superType: string;
            fieldType: string;
        };
        javaValueSample1?: string;
        javaValueSample2?: string;
        fieldValidateRulesPatternJava?: string;
        javaFieldValidatorsPartial?: string;
    } & {
        fieldTypeTemporal: boolean;
        fieldTypeCharSequence: boolean;
        fieldTypeNumeric: boolean;
        fieldSupportsSortBy?: boolean;
    }), ServerRelationship>, ServerApplication>>>;
    get loadingEntities(): Record<"loadEntityConfig", import("../base-core/types.js").GenericTask<any, import("../base-application/tasks.js").LoadingEntitiesTaskParam<ServerEntity<({
        propertyName: string;
        propertyNameCapitalized?: string;
        propertyNameUpperSnakeCase?: string;
        propertyApiDescription?: string;
        skipClient?: boolean;
        skipServer?: boolean;
    } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
        fieldTypeBlob: boolean;
        fieldTypeString: boolean;
        fieldTypeInteger: boolean;
        fieldTypeLong: boolean;
        fieldTypeBigDecimal: boolean;
        fieldTypeFloat: boolean;
        fieldTypeDouble: boolean;
        fieldTypeUUID: boolean;
        fieldTypeBoolean: boolean;
        fieldTypeLocalDate: boolean;
        fieldTypeZonedDateTime: boolean;
        fieldTypeAnyBlob: boolean;
        fieldTypeImageBlob: boolean;
        fieldTypeTextBlob: boolean;
        fieldTypeInstant: boolean;
        fieldTypeDuration: boolean;
        fieldTypeByte: boolean;
        fieldTypeByteBuffer: boolean;
        fieldTypeLocalTime: boolean;
    } & {
        fieldValidationMin: boolean;
        fieldValidationRequired: boolean;
        fieldValidationPattern: boolean;
        fieldValidationMax: boolean;
        fieldValidationUnique: boolean;
        fieldValidationMinlength: boolean;
        fieldValidationMaxlength: boolean;
        fieldValidationMinbytes: boolean;
        fieldValidationMaxbytes: boolean;
    } & {
        path?: string[];
        fieldNameCapitalized: string;
        fieldNameHumanized: string;
        fieldNameUnderscored: string;
        fieldTranslationKey?: string;
        propertyTranslationKey?: string;
        fieldApiDescription?: string;
        enumFileName?: string;
        enumValues?: {
            name: string;
            value: string;
        }[];
        fieldValidate?: boolean;
        unique?: boolean;
        maxlength?: number;
        fakerTemplate?: string;
        uniqueValue?: any[];
        generateFakeDataFromPattern?: () => string | undefined;
        generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
        transient?: boolean;
        id?: boolean;
        autoGenerate?: boolean;
        readonly?: boolean;
        sequenceGeneratorName?: string;
        fieldWithContentType?: boolean;
        contentTypeFieldName?: string;
        fieldTypeTimed?: boolean;
        blobContentTypeText?: boolean;
        blobContentTypeImage?: boolean;
        blobContentTypeAny?: boolean;
        fieldTypeBytes?: boolean;
        fieldTypeBinary?: boolean;
        fieldValidationMinLength: boolean;
        fieldValidationMaxLength: boolean;
        fieldValidationMinBytes: boolean;
        fieldValidationMaxBytes: boolean;
        relatedByOtherEntity?: boolean;
        enumInstance?: string;
        builtIn?: boolean;
        derivedPath?: string[];
    } & {
        fieldType: string;
        fieldIsEnum: true;
    } & {
        propertyJavaBeanName?: string;
        propertySupplierName?: string;
        propertyConsumerName?: string;
    } & {
        fieldInJavaBeanMethod: string;
    } & {
        propertyDtoJavaType?: string;
    } & {
        javaFieldType?: string;
        fieldJavaBuildSpecification?: string;
        fieldJavadoc?: string;
        fieldJavaValueGenerator?: string;
        javaValueGenerator?: string;
        propertyJavaCustomFilter?: {
            type: string;
            superType: string;
            fieldType: string;
        };
        javaValueSample1?: string;
        javaValueSample2?: string;
        fieldValidateRulesPatternJava?: string;
        javaFieldValidatorsPartial?: string;
    } & {
        fieldTypeTemporal: boolean;
        fieldTypeCharSequence: boolean;
        fieldTypeNumeric: boolean;
        fieldSupportsSortBy?: boolean;
    }) | ({
        propertyName: string;
        propertyNameCapitalized?: string;
        propertyNameUpperSnakeCase?: string;
        propertyApiDescription?: string;
        skipClient?: boolean;
        skipServer?: boolean;
    } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
        fieldTypeBlob: boolean;
        fieldTypeString: boolean;
        fieldTypeInteger: boolean;
        fieldTypeLong: boolean;
        fieldTypeBigDecimal: boolean;
        fieldTypeFloat: boolean;
        fieldTypeDouble: boolean;
        fieldTypeUUID: boolean;
        fieldTypeBoolean: boolean;
        fieldTypeLocalDate: boolean;
        fieldTypeZonedDateTime: boolean;
        fieldTypeAnyBlob: boolean;
        fieldTypeImageBlob: boolean;
        fieldTypeTextBlob: boolean;
        fieldTypeInstant: boolean;
        fieldTypeDuration: boolean;
        fieldTypeByte: boolean;
        fieldTypeByteBuffer: boolean;
        fieldTypeLocalTime: boolean;
    } & {
        fieldValidationMin: boolean;
        fieldValidationRequired: boolean;
        fieldValidationPattern: boolean;
        fieldValidationMax: boolean;
        fieldValidationUnique: boolean;
        fieldValidationMinlength: boolean;
        fieldValidationMaxlength: boolean;
        fieldValidationMinbytes: boolean;
        fieldValidationMaxbytes: boolean;
    } & {
        path?: string[];
        fieldNameCapitalized: string;
        fieldNameHumanized: string;
        fieldNameUnderscored: string;
        fieldTranslationKey?: string;
        propertyTranslationKey?: string;
        fieldApiDescription?: string;
        enumFileName?: string;
        enumValues?: {
            name: string;
            value: string;
        }[];
        fieldValidate?: boolean;
        unique?: boolean;
        maxlength?: number;
        fakerTemplate?: string;
        uniqueValue?: any[];
        generateFakeDataFromPattern?: () => string | undefined;
        generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
        transient?: boolean;
        id?: boolean;
        autoGenerate?: boolean;
        readonly?: boolean;
        sequenceGeneratorName?: string;
        fieldWithContentType?: boolean;
        contentTypeFieldName?: string;
        fieldTypeTimed?: boolean;
        blobContentTypeText?: boolean;
        blobContentTypeImage?: boolean;
        blobContentTypeAny?: boolean;
        fieldTypeBytes?: boolean;
        fieldTypeBinary?: boolean;
        fieldValidationMinLength: boolean;
        fieldValidationMaxLength: boolean;
        fieldValidationMinBytes: boolean;
        fieldValidationMaxBytes: boolean;
        relatedByOtherEntity?: boolean;
        enumInstance?: string;
        builtIn?: boolean;
        derivedPath?: string[];
    } & {
        fieldType: import("../../lib/jhipster/field-types.ts").FieldType;
        fieldIsEnum: false;
    } & {
        propertyJavaBeanName?: string;
        propertySupplierName?: string;
        propertyConsumerName?: string;
    } & {
        fieldInJavaBeanMethod: string;
    } & {
        propertyDtoJavaType?: string;
    } & {
        javaFieldType?: string;
        fieldJavaBuildSpecification?: string;
        fieldJavadoc?: string;
        fieldJavaValueGenerator?: string;
        javaValueGenerator?: string;
        propertyJavaCustomFilter?: {
            type: string;
            superType: string;
            fieldType: string;
        };
        javaValueSample1?: string;
        javaValueSample2?: string;
        fieldValidateRulesPatternJava?: string;
        javaFieldValidatorsPartial?: string;
    } & {
        fieldTypeTemporal: boolean;
        fieldTypeCharSequence: boolean;
        fieldTypeNumeric: boolean;
        fieldSupportsSortBy?: boolean;
    }), ServerRelationship>, ServerApplication>>>;
    get postPreparingEachEntity(): Record<"checkForTableName", import("../base-core/types.js").GenericTask<any, import("../base-application/tasks.js").PreparingEachEntityTaskParam<ServerEntity<({
        propertyName: string;
        propertyNameCapitalized?: string;
        propertyNameUpperSnakeCase?: string;
        propertyApiDescription?: string;
        skipClient?: boolean;
        skipServer?: boolean;
    } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
        fieldTypeBlob: boolean;
        fieldTypeString: boolean;
        fieldTypeInteger: boolean;
        fieldTypeLong: boolean;
        fieldTypeBigDecimal: boolean;
        fieldTypeFloat: boolean;
        fieldTypeDouble: boolean;
        fieldTypeUUID: boolean;
        fieldTypeBoolean: boolean;
        fieldTypeLocalDate: boolean;
        fieldTypeZonedDateTime: boolean;
        fieldTypeAnyBlob: boolean;
        fieldTypeImageBlob: boolean;
        fieldTypeTextBlob: boolean;
        fieldTypeInstant: boolean;
        fieldTypeDuration: boolean;
        fieldTypeByte: boolean;
        fieldTypeByteBuffer: boolean;
        fieldTypeLocalTime: boolean;
    } & {
        fieldValidationMin: boolean;
        fieldValidationRequired: boolean;
        fieldValidationPattern: boolean;
        fieldValidationMax: boolean;
        fieldValidationUnique: boolean;
        fieldValidationMinlength: boolean;
        fieldValidationMaxlength: boolean;
        fieldValidationMinbytes: boolean;
        fieldValidationMaxbytes: boolean;
    } & {
        path?: string[];
        fieldNameCapitalized: string;
        fieldNameHumanized: string;
        fieldNameUnderscored: string;
        fieldTranslationKey?: string;
        propertyTranslationKey?: string;
        fieldApiDescription?: string;
        enumFileName?: string;
        enumValues?: {
            name: string;
            value: string;
        }[];
        fieldValidate?: boolean;
        unique?: boolean;
        maxlength?: number;
        fakerTemplate?: string;
        uniqueValue?: any[];
        generateFakeDataFromPattern?: () => string | undefined;
        generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
        transient?: boolean;
        id?: boolean;
        autoGenerate?: boolean;
        readonly?: boolean;
        sequenceGeneratorName?: string;
        fieldWithContentType?: boolean;
        contentTypeFieldName?: string;
        fieldTypeTimed?: boolean;
        blobContentTypeText?: boolean;
        blobContentTypeImage?: boolean;
        blobContentTypeAny?: boolean;
        fieldTypeBytes?: boolean;
        fieldTypeBinary?: boolean;
        fieldValidationMinLength: boolean;
        fieldValidationMaxLength: boolean;
        fieldValidationMinBytes: boolean;
        fieldValidationMaxBytes: boolean;
        relatedByOtherEntity?: boolean;
        enumInstance?: string;
        builtIn?: boolean;
        derivedPath?: string[];
    } & {
        fieldType: string;
        fieldIsEnum: true;
    } & {
        propertyJavaBeanName?: string;
        propertySupplierName?: string;
        propertyConsumerName?: string;
    } & {
        fieldInJavaBeanMethod: string;
    } & {
        propertyDtoJavaType?: string;
    } & {
        javaFieldType?: string;
        fieldJavaBuildSpecification?: string;
        fieldJavadoc?: string;
        fieldJavaValueGenerator?: string;
        javaValueGenerator?: string;
        propertyJavaCustomFilter?: {
            type: string;
            superType: string;
            fieldType: string;
        };
        javaValueSample1?: string;
        javaValueSample2?: string;
        fieldValidateRulesPatternJava?: string;
        javaFieldValidatorsPartial?: string;
    } & {
        fieldTypeTemporal: boolean;
        fieldTypeCharSequence: boolean;
        fieldTypeNumeric: boolean;
        fieldSupportsSortBy?: boolean;
    }) | ({
        propertyName: string;
        propertyNameCapitalized?: string;
        propertyNameUpperSnakeCase?: string;
        propertyApiDescription?: string;
        skipClient?: boolean;
        skipServer?: boolean;
    } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
        fieldTypeBlob: boolean;
        fieldTypeString: boolean;
        fieldTypeInteger: boolean;
        fieldTypeLong: boolean;
        fieldTypeBigDecimal: boolean;
        fieldTypeFloat: boolean;
        fieldTypeDouble: boolean;
        fieldTypeUUID: boolean;
        fieldTypeBoolean: boolean;
        fieldTypeLocalDate: boolean;
        fieldTypeZonedDateTime: boolean;
        fieldTypeAnyBlob: boolean;
        fieldTypeImageBlob: boolean;
        fieldTypeTextBlob: boolean;
        fieldTypeInstant: boolean;
        fieldTypeDuration: boolean;
        fieldTypeByte: boolean;
        fieldTypeByteBuffer: boolean;
        fieldTypeLocalTime: boolean;
    } & {
        fieldValidationMin: boolean;
        fieldValidationRequired: boolean;
        fieldValidationPattern: boolean;
        fieldValidationMax: boolean;
        fieldValidationUnique: boolean;
        fieldValidationMinlength: boolean;
        fieldValidationMaxlength: boolean;
        fieldValidationMinbytes: boolean;
        fieldValidationMaxbytes: boolean;
    } & {
        path?: string[];
        fieldNameCapitalized: string;
        fieldNameHumanized: string;
        fieldNameUnderscored: string;
        fieldTranslationKey?: string;
        propertyTranslationKey?: string;
        fieldApiDescription?: string;
        enumFileName?: string;
        enumValues?: {
            name: string;
            value: string;
        }[];
        fieldValidate?: boolean;
        unique?: boolean;
        maxlength?: number;
        fakerTemplate?: string;
        uniqueValue?: any[];
        generateFakeDataFromPattern?: () => string | undefined;
        generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
        transient?: boolean;
        id?: boolean;
        autoGenerate?: boolean;
        readonly?: boolean;
        sequenceGeneratorName?: string;
        fieldWithContentType?: boolean;
        contentTypeFieldName?: string;
        fieldTypeTimed?: boolean;
        blobContentTypeText?: boolean;
        blobContentTypeImage?: boolean;
        blobContentTypeAny?: boolean;
        fieldTypeBytes?: boolean;
        fieldTypeBinary?: boolean;
        fieldValidationMinLength: boolean;
        fieldValidationMaxLength: boolean;
        fieldValidationMinBytes: boolean;
        fieldValidationMaxBytes: boolean;
        relatedByOtherEntity?: boolean;
        enumInstance?: string;
        builtIn?: boolean;
        derivedPath?: string[];
    } & {
        fieldType: import("../../lib/jhipster/field-types.ts").FieldType;
        fieldIsEnum: false;
    } & {
        propertyJavaBeanName?: string;
        propertySupplierName?: string;
        propertyConsumerName?: string;
    } & {
        fieldInJavaBeanMethod: string;
    } & {
        propertyDtoJavaType?: string;
    } & {
        javaFieldType?: string;
        fieldJavaBuildSpecification?: string;
        fieldJavadoc?: string;
        fieldJavaValueGenerator?: string;
        javaValueGenerator?: string;
        propertyJavaCustomFilter?: {
            type: string;
            superType: string;
            fieldType: string;
        };
        javaValueSample1?: string;
        javaValueSample2?: string;
        fieldValidateRulesPatternJava?: string;
        javaFieldValidatorsPartial?: string;
    } & {
        fieldTypeTemporal: boolean;
        fieldTypeCharSequence: boolean;
        fieldTypeNumeric: boolean;
        fieldSupportsSortBy?: boolean;
    }), ServerRelationship>, ServerApplication>>>;
    /** @inheritdoc */
    get default(): Record<"checkCompositeIds", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl & {
        application: ServerApplication;
    } & {
        entities: ServerEntity<({
            propertyName: string;
            propertyNameCapitalized?: string;
            propertyNameUpperSnakeCase?: string;
            propertyApiDescription?: string;
            skipClient?: boolean;
            skipServer?: boolean;
        } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
            fieldTypeBlob: boolean;
            fieldTypeString: boolean;
            fieldTypeInteger: boolean;
            fieldTypeLong: boolean;
            fieldTypeBigDecimal: boolean;
            fieldTypeFloat: boolean;
            fieldTypeDouble: boolean;
            fieldTypeUUID: boolean;
            fieldTypeBoolean: boolean;
            fieldTypeLocalDate: boolean;
            fieldTypeZonedDateTime: boolean;
            fieldTypeAnyBlob: boolean;
            fieldTypeImageBlob: boolean;
            fieldTypeTextBlob: boolean;
            fieldTypeInstant: boolean;
            fieldTypeDuration: boolean;
            fieldTypeByte: boolean;
            fieldTypeByteBuffer: boolean;
            fieldTypeLocalTime: boolean;
        } & {
            fieldValidationMin: boolean;
            fieldValidationRequired: boolean;
            fieldValidationPattern: boolean;
            fieldValidationMax: boolean;
            fieldValidationUnique: boolean;
            fieldValidationMinlength: boolean;
            fieldValidationMaxlength: boolean;
            fieldValidationMinbytes: boolean;
            fieldValidationMaxbytes: boolean;
        } & {
            path?: string[];
            fieldNameCapitalized: string;
            fieldNameHumanized: string;
            fieldNameUnderscored: string;
            fieldTranslationKey?: string;
            propertyTranslationKey?: string;
            fieldApiDescription?: string;
            enumFileName?: string;
            enumValues?: {
                name: string;
                value: string;
            }[];
            fieldValidate?: boolean;
            unique?: boolean;
            maxlength?: number;
            fakerTemplate?: string;
            uniqueValue?: any[];
            generateFakeDataFromPattern?: () => string | undefined;
            generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
            transient?: boolean;
            id?: boolean;
            autoGenerate?: boolean;
            readonly?: boolean;
            sequenceGeneratorName?: string;
            fieldWithContentType?: boolean;
            contentTypeFieldName?: string;
            fieldTypeTimed?: boolean;
            blobContentTypeText?: boolean;
            blobContentTypeImage?: boolean;
            blobContentTypeAny?: boolean;
            fieldTypeBytes?: boolean;
            fieldTypeBinary?: boolean;
            fieldValidationMinLength: boolean;
            fieldValidationMaxLength: boolean;
            fieldValidationMinBytes: boolean;
            fieldValidationMaxBytes: boolean;
            relatedByOtherEntity?: boolean;
            enumInstance?: string;
            builtIn?: boolean;
            derivedPath?: string[];
        } & {
            fieldType: string;
            fieldIsEnum: true;
        } & {
            propertyJavaBeanName?: string;
            propertySupplierName?: string;
            propertyConsumerName?: string;
        } & {
            fieldInJavaBeanMethod: string;
        } & {
            propertyDtoJavaType?: string;
        } & {
            javaFieldType?: string;
            fieldJavaBuildSpecification?: string;
            fieldJavadoc?: string;
            fieldJavaValueGenerator?: string;
            javaValueGenerator?: string;
            propertyJavaCustomFilter?: {
                type: string;
                superType: string;
                fieldType: string;
            };
            javaValueSample1?: string;
            javaValueSample2?: string;
            fieldValidateRulesPatternJava?: string;
            javaFieldValidatorsPartial?: string;
        } & {
            fieldTypeTemporal: boolean;
            fieldTypeCharSequence: boolean;
            fieldTypeNumeric: boolean;
            fieldSupportsSortBy?: boolean;
        }) | ({
            propertyName: string;
            propertyNameCapitalized?: string;
            propertyNameUpperSnakeCase?: string;
            propertyApiDescription?: string;
            skipClient?: boolean;
            skipServer?: boolean;
        } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
            fieldTypeBlob: boolean;
            fieldTypeString: boolean;
            fieldTypeInteger: boolean;
            fieldTypeLong: boolean;
            fieldTypeBigDecimal: boolean;
            fieldTypeFloat: boolean;
            fieldTypeDouble: boolean;
            fieldTypeUUID: boolean;
            fieldTypeBoolean: boolean;
            fieldTypeLocalDate: boolean;
            fieldTypeZonedDateTime: boolean;
            fieldTypeAnyBlob: boolean;
            fieldTypeImageBlob: boolean;
            fieldTypeTextBlob: boolean;
            fieldTypeInstant: boolean;
            fieldTypeDuration: boolean;
            fieldTypeByte: boolean;
            fieldTypeByteBuffer: boolean;
            fieldTypeLocalTime: boolean;
        } & {
            fieldValidationMin: boolean;
            fieldValidationRequired: boolean;
            fieldValidationPattern: boolean;
            fieldValidationMax: boolean;
            fieldValidationUnique: boolean;
            fieldValidationMinlength: boolean;
            fieldValidationMaxlength: boolean;
            fieldValidationMinbytes: boolean;
            fieldValidationMaxbytes: boolean;
        } & {
            path?: string[];
            fieldNameCapitalized: string;
            fieldNameHumanized: string;
            fieldNameUnderscored: string;
            fieldTranslationKey?: string;
            propertyTranslationKey?: string;
            fieldApiDescription?: string;
            enumFileName?: string;
            enumValues?: {
                name: string;
                value: string;
            }[];
            fieldValidate?: boolean;
            unique?: boolean;
            maxlength?: number;
            fakerTemplate?: string;
            uniqueValue?: any[];
            generateFakeDataFromPattern?: () => string | undefined;
            generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
            transient?: boolean;
            id?: boolean;
            autoGenerate?: boolean;
            readonly?: boolean;
            sequenceGeneratorName?: string;
            fieldWithContentType?: boolean;
            contentTypeFieldName?: string;
            fieldTypeTimed?: boolean;
            blobContentTypeText?: boolean;
            blobContentTypeImage?: boolean;
            blobContentTypeAny?: boolean;
            fieldTypeBytes?: boolean;
            fieldTypeBinary?: boolean;
            fieldValidationMinLength: boolean;
            fieldValidationMaxLength: boolean;
            fieldValidationMinBytes: boolean;
            fieldValidationMaxBytes: boolean;
            relatedByOtherEntity?: boolean;
            enumInstance?: string;
            builtIn?: boolean;
            derivedPath?: string[];
        } & {
            fieldType: import("../../lib/jhipster/field-types.ts").FieldType;
            fieldIsEnum: false;
        } & {
            propertyJavaBeanName?: string;
            propertySupplierName?: string;
            propertyConsumerName?: string;
        } & {
            fieldInJavaBeanMethod: string;
        } & {
            propertyDtoJavaType?: string;
        } & {
            javaFieldType?: string;
            fieldJavaBuildSpecification?: string;
            fieldJavadoc?: string;
            fieldJavaValueGenerator?: string;
            javaValueGenerator?: string;
            propertyJavaCustomFilter?: {
                type: string;
                superType: string;
                fieldType: string;
            };
            javaValueSample1?: string;
            javaValueSample2?: string;
            fieldValidateRulesPatternJava?: string;
            javaFieldValidatorsPartial?: string;
        } & {
            fieldTypeTemporal: boolean;
            fieldTypeCharSequence: boolean;
            fieldTypeNumeric: boolean;
            fieldSupportsSortBy?: boolean;
        }), ServerRelationship>[];
    }>>;
    /**
     * Validate the entityTableName
     * @return {true|string} true for a valid value or error message.
     */
    _validateTableName(entityTableName: string, prodDatabaseType: string, entity: ServerEntity): true | string;
    _validateField(entityName: string, field: ServerField): void;
    _validateRelationship(entityName: string, relationship: ServerRelationship): void;
}
